winform程序,在客户电脑使用,使用后台线程执行一个耗时上传数据操作,如果我通过teamview或者window自带远程桌面工具 一远程到客户电脑,程序就卡主了,也不能最小化,不能右键关闭。打开任务管理器,显示该程序状态还是“正在运行”。只能强制结束任务才能关闭该程序。如果没有远程到客户电脑,程序就能一直运行没问题。
后台上传的代码是:
private void btnUploadAllToPlatform_Click(object sender, EventArgs e)
{
this.Invoke((EventHandler)(delegate
{
btnUploadAllToPlatform.Enabled = false;
btncx.Enabled = false;
labTitle.Text = "正在上传档案......";
pbmain.Maximum = 0;
}));
Task.Factory.StartNew(() =>{
UploadAllToPlatform();
});
}
UploadAllToPlatform() 方法是上传数据操作,查询数据库数据然后通过http post接口上传。
请教各位大神 这是什么原因导致?怎么解决?
真的死了吗?你点其它应用程序有反应吗?也许是因为网速慢而产生的幻觉。
我的程序是卡住没反应了,其他程序是没问题的,网速正常。
@KerwinLee: 和上传确定有关系,没有上传时会卡死吗
@会长: 试了在客户电脑只打开程序,不执行上传操作,远程过去不会卡死。一执行上传操作,然后断开远程或者上传过程中远程过去,程序就卡死了。
@KerwinLee: 不知道了。
teamviewer是否使用了vpn连接,导致发生了网络切换,导致你的程序假死。
teamviewer 没有使用VPN连接。 但网络切换,会导致程序假死?
@KerwinLee: 猜测,比如网络或者什么东西有变化,导致UploadAllToPlatform 里面出现异常,然后程序没有处理异常之类的。
异常捕获一下看看,远程不会影响程序运行的
请问下问题找到原因了吗?我也遇到了同样的问题