2012-09-20 20 views
0

我在WCF Web服務中進行文件操作,因此直到此調用完成,我無法從我的應用程序進行任何其他服務調用。WCF中的併發調用,同時調用耗時的服務調用

所以我打算使用TPL

Task.Factory.StartNew(() => 
      {      
       CheckFileandCopy(path,fileName); 
      }); 

它的工作原理,並返回true,但問題是,完成事件可是沒有實際的結果,怎麼把過程在單獨的線程中運行的,所以我不得到實際的完整的情況下,我怎麼能返回完整的情況下,一旦任務完成,也我怎麼可以讓併發呼叫時,耗時方法被調用

+0

爲什麼你需要在這裏完成的事件? –

回答

0

您有兩種基本選擇:

  • 異步調用客戶端。如果您生成包括異步方法代理(例如見this msdn page這將是容易的。
  • 讓事情異步的,服務器端,這類似於你在你的例子做了什麼。唯一缺少的是與實際回調的結果。爲此,您可以使用duplex scenario在客戶端能夠從服務接收呼叫,就好像客戶端也是一種服務。請注意,並非所有情況下的/綁定支持這一點。

在這兩個通過會話和併發讀取this msdn article的案例可能有助於理解事情。