0
我正在使用我的Silverlight 5應用程序的WCF服務。耗時WCF服務調用阻止其他WCF服務調用。
在我的一個服務電話中,我正在做一個耗時的工作。完成活動需要1到2分鐘的時間。我不會阻塞繁忙指標的用戶界面,因此用戶仍然可以與應用程序進行交互。
問題是當我做我的第一次服務調用時,它執行一些耗時的操作。當用戶加載其他服務時,我的第二個服務調用在第一個服務完成之前不會被處理。
如何在單獨的線程中執行耗時的服務調用以避免其他 調用等待此服務完成?
WebService的代碼
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class TestService
{[OperationContract]
public bool PerformFileScan(int fileID)
{
//Time Consuming Process
}
}
CS
client.PerformFileScanAsnc(docId);
client.PerformFileScanCompleted += new EventHandler<.PerformFileScanCompletedEventArgs>(client_PerformFileScanCompleted);