您的位置:首页 > 其它

调用WCF服务后需及时关闭

2010-11-14 12:43 211 查看
调用WCF服务跟使用数据库连接一样,要注意及时关闭,如果没有及时很容易就会是连接数过多造成服务器崩溃。

测试环境: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个连接。

总之,最好的处理方式是不管在什么环境都要及时关闭调用连接,避免应连接数过多造成服务崩溃。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐