PageAsyncTask - 当它超时时,我是否需要整理长时间通话?

时间:2015-03-03 16:31:38

标签: c# wcf events asynchronous pageasynctask

我正在使用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;
       }    
  }

1 个答案:

答案 0 :(得分:1)

使用实施 IDisposable ,并自动处理

  

但是有更好的做法,即使用" 使用"代理人变坏了!

请查看此信息以获取更多信息http://web.archive.org/web/20100703123454/http://old.iserviceoriented.com/blog/post/Indisposable+-+WCF+Gotcha+1.aspx