调用WCF服务后需及时关闭
2010-11-14 12:43
211 查看
调用WCF服务跟使用数据库连接一样,要注意及时关闭,如果没有及时很容易就会是连接数过多造成服务器崩溃。
测试环境:vs2010+.NETFramework3.5+vs2010自带的WebServer(在不同的环境会有不同的结果)。
WCF服务使用环境自带的
测试代码:
模拟创建1000个连接访问WCF。
运行结果:
创建10个连接WebServer就崩溃了。(有些人说WebServer没有连接数的限制,那是错误的)。
创建连接调用后立即关闭(调用Close()事件):
运行结果:
使用vs2010是上图的测试结果,在VS2008环境中,创建不到800个的连接也会使WebServer崩溃。
如果使用.NETFramework4.0,没有调用Close()也是可以创建全部1000个连接。
总之,最好的处理方式是不管在什么环境都要及时关闭调用连接,避免应连接数过多造成服务崩溃。
测试环境:vs2010+.NETFramework3.5+vs2010自带的WebServer(在不同的环境会有不同的结果)。
WCF服务使用环境自带的
测试代码:
protectedvoidPage_Load(objectsender,EventArgse)
{
try
{
for(inti=0;i<1000;i++)
{
localhost.Service1Clientwcf=newlocalhost.Service1Client();
wcf.GetData(1);
//wcf.Close();
Response.Write(i+"<br/>");
}
}
catch(Exceptionex)
{
Response.Write(ex.Message);
}
}
模拟创建1000个连接访问WCF。
运行结果:
创建10个连接WebServer就崩溃了。(有些人说WebServer没有连接数的限制,那是错误的)。
创建连接调用后立即关闭(调用Close()事件):
protectedvoidPage_Load(objectsender,EventArgse)
{
try
{
for(inti=0;i<1000;i++)
{
localhost.Service1Clientwcf=newlocalhost.Service1Client();
wcf.GetData(1);
wcf.Close();
Response.Write(i+"<br/>");
}
}
catch(Exceptionex)
{
Response.Write(ex.Message);
}
}
运行结果:
使用vs2010是上图的测试结果,在VS2008环境中,创建不到800个的连接也会使WebServer崩溃。
如果使用.NETFramework4.0,没有调用Close()也是可以创建全部1000个连接。
总之,最好的处理方式是不管在什么环境都要及时关闭调用连接,避免应连接数过多造成服务崩溃。
相关文章推荐
- WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?(转)
- WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?
- 2012.6.27近期总结,1.sql字符串转换(cast,CONVERT )调用wcf服务,关闭模态窗口刷新付页面
- 调用部署在本机IIS服务器的WCF服务并返回数据DataTable,一直报错:远程主机强迫关闭了一个现有的连接,但是服务访问正常
- WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?
- wcf 中客户端调用之死 感悟 wcf与原来的webservice2.0 的客户端调用区别(wcf调用完不关闭的话那就把web服务搞死了)
- 创建一个简单的WCF程序2——手动开启/关闭WCF服务与动态调用WCF地址
- [原创] WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?
- WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?
- 不要在using语句中调用WCF服务
- JQuery 跨域调用 WCF 服务
- Silverlight调用WCF服务,在添加WCF服务引用时,报错如下:
- Silverlight与WCF之间的通信(4)silverlight以net.tcp方式调用console上寄宿的wcf服务
- 【菜鸟学WCF】使用ScriptManager+Ajax调用WCF服务之如何为服务创建接口
- WCF 第十一章 工作流服务 从WF调用一个WCF服务
- 异步调用Restful的WCF服务
- 学习之路十四:客户端调用WCF服务的几种方法小议
- VS2010 创建WCF以及SL的客户端如何调用WCF服务教程(一): 创建WCF
- COM(VB/VBA/Script)利用服务标记调用WCF服务之三使用WSDL契约
- Java与WCF交互(一):Java客户端调用WCF服务 (转)