栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C# > C#教程

WinForm窗体调用WCF服务窗体卡死问题

C#教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WinForm窗体调用WCF服务窗体卡死问题

窗体启动会启动一个程序主线程,如果在From_Load()方法中调用服务,调用服务操作会阻塞主程序。

只需要将调用服务的操作放到其他线程中处理就可以解决这个问题。

比如:
复制代码 代码如下:
Thread ServiceThread=null;
public void TestForm_Load(object sender, EventArgs e)
{
CheckForIllegalCrossThreadCalls = false;
ServiceThread = new Thread(new ThreadStart(RegService));
ServiceThread.Start();
}
private void RegService()
{
//这里实现注册服务调用服务操作
}

注意:开启了线程要记得关闭,不然当关闭该窗体时其主进程关不掉,因为还有线程存在。可以在FromClosed()方法里将该线程关闭。
复制代码 代码如下:
private void TestForm_FormClosed(object sender, FormClosedEventArgs e)
{
ServiceThread.Abort();
Application.Exit();
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/127634.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号