我制作了这个控制台应用程序,它扫描文件夹中的文件并通过电子邮件作为附件发送它们。它在我的本地计算机上运行良好。但是当我尝试在另一台机器(测试服务器)上远程运行它时,它给了我一个例外。
这是我看到的例外。
innerException {System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions *******:25
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6)
at System.Net.PooledStream.Activate(Object owningObject, Boolean async, GeneralAsyncDelegate asyncCallback) …Run Code Online (Sandbox Code Playgroud) 我有一个 C# 控制台应用程序。我想每天每小时运行一次。该应用程序不打算在我的本地计算机上运行,而是作为后台进程在其他用户计算机上运行。我不希望用户费心使用任务计划程序手动设置任务。我怎样才能为他实现同样的目标?
我是新手,我以前从未做过单元测试.
我制作了一个控制台应用程序来压缩文件并发送电子邮件.现在我想进行单元测试.但我不确定我的代码是否可测试.
例如,我有一个叫做的方法 -
public static void readAndEmailCsvFiles(string filePath)
{
DirectoryInfo directory = new DirectoryInfo(filePath);
var files = directory.GetFiles("*.csv", SearchOption.AllDirectories);
var dirDate = string.Format("{0:yyyy-MM-dd HH-mm}", DateTime.Now);
bool isExists = System.IO.Directory.Exists(filePath + "\\" + "PROCESSED" + "\\" + dirDate);
if (!isExists)
{
System.IO.Directory.CreateDirectory(filePath + "\\" + "PROCESSED" + "\\" + dirDate);
}
try
{
using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile())
{
foreach (var file in files)
{
Console.WriteLine("Processing File : " + file + "\n");
zip.AddFile(file.FullName, "");
zip.Save(Path.Combine(filePath, "PROCESSED", dirDate, file.Name) …Run Code Online (Sandbox Code Playgroud)