0

C# (.Net 3.5) で PageAsyncTask を使用して WCF サービスを呼び出しています。

私の質問は、タイムアウト時にプロキシを整理する必要がありますか、それとも Using ブロックで作成されているため不要ですか?

タイムアウト時の「片付け」コードを含む疑似コードを次に示します。

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;
       }    
  }
4

1 に答える 1

1

UsingはIDisposableを実装し、自動的に破棄します。

しかし、「Using」を使用するとプロキシがうまくいかないというより良い方法があります。

詳細については、こちらをご覧ください: http://web.archive.org/web/20100703123454/http://old.iservicedirectional.com/blog/post/Indisposable+-+WCF+Gotcha+1.aspx

于 2016-02-29T18:34:32.917 に答える