将类型更改为windows应用程序后,应用程序无法正常工作
本文关键字:应用程序 常工作 工作 类型 windows | 更新日期: 2023-09-27 17:58:15
我创建了一个C#控制台应用程序,将计算机中的某个文件上传到web服务器。它运行良好。但我也想隐藏我的控制台应用程序。然后我把我的应用程序类型从属性面板改为windows应用程序。现在我意识到它不能正常工作。。它仍然做所有事情,除了上传部分。当它是控制台类型时,它正确地进行上传过程,并且它一直运行,直到我点击回车键,因为我添加了console.readline();但现在当我在visualstudio中运行时,它会在上传成功之前自动停止运行。我不知道为什么。。需要帮助
我的上传代码如下。
public static Boolean upload()
{
Console.WriteLine("uploading");
text_a("uplading");
String file = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) +
"''micro_db''zipper''keys.zip";
String url = "http://mysite/upload.php";
try
{
WebClient client = new WebClient();
Uri uri = new Uri(url);
client.UploadFileCompleted += new UploadFileCompletedEventHandler(UploadFileCallback2);
// Specify a progress notification handler.
//client.UploadProgressChanged += new UploadProgressChangedEventHandler(UploadProgressCallback);
client.UploadFileAsync(uri, "POST", file);
Console.WriteLine("File upload started.");
text_a("file upload started");
return true;
}
catch(Exception e)
{
Console.WriteLine(e);
text_a(e.ToString());
return false;
}
}
我建议创建三个项目:
第一个项目将是您的"服务"项目,它将只是一个公开类以执行Upload()
方法的普通类库。
第二个项目将是控制台应用程序。添加对创建的第一个项目的引用,并从服务项目中创建该类的新实例。
第三个可以是windows项目。这也将参考服务项目。像在控制台应用程序中一样,新建类。
这样,只需右键单击所需的项目并选择debug,就可以运行控制台应用程序或windows应用程序。
您不能只从控制台切换到windows应用程序类型,而不进行管道操作。