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);