我正在使用PageAsyncTask在c#(.Net 3.5)中调用WCF服务。
我的问题是,我是否需要在超时时整理代理,或者这是不必要的,因为它是在使用块中创建的?
这是一些伪代码,其中包括一些超时的“整理”代码:
private WCFProxy proxy;
IAsyncResult BeginEvent(...)
{
Using (proxy = new WCFProxy)
{
//do some stuff
proxy.DoLongRunningWork();
if (proxy != null) proxy.close();
}
}
public void TimeoutEvent(IAsyncResult result)
{
//timeout :-(
if (proxy != null)
{
proxy.Abort();
proxy = null;
}
}
答案 0 :(得分:1)
使用实施 IDisposable ,并自动处理。
但是有更好的做法,即使用" 使用"代理人变坏了!
请查看此信息以获取更多信息: http://web.archive.org/web/20100703123454/http://old.iserviceoriented.com/blog/post/Indisposable+-+WCF+Gotcha+1.aspx