我有一個從Windows服務調用的WCF服務。如何使我的WCF服務異步調用?
WCF服務運行一個SSIS包,該包可能需要一段時間才能完成,我不希望我的Windows服務必須等待它完成。
如何讓我的WCF服務調用異步? (或者是異步的默認?)
我有一個從Windows服務調用的WCF服務。如何使我的WCF服務異步調用?
WCF服務運行一個SSIS包,該包可能需要一段時間才能完成,我不希望我的Windows服務必須等待它完成。
如何讓我的WCF服務調用異步? (或者是異步的默認?)
您所有的需求,將在下面的文章滿足從MSDN:
的WCF的內部代理您的客戶端(Windows服務?)需要在創建時指定,您希望有可用的異步操作。
您可以修改它通過右鍵單擊現有的WCF代理,並選擇「配置服務引用」從這裏,你只需要檢查旁邊的複選框,以「生成異步操作」
好了,所以這就是WCF代理方面的事情照顧。 現在您需要在客戶端內部使用APM(異步編程模型)和Proxy。
在Visual Studio 2010上,在Add Service Reference > click Advanced button > check the Generate Asynchronous Operations
複選框上。
完成後,異步操作將被添加並供您使用。
太好了,幫了我很多......謝謝隊友! – 2017-04-28 15:02:05
服務端:
[ServiceContract]
public interface IMyService
{
[OperationContract]
bool DoWork(int i);
}
客戶端:
[ServiceContract(Name = nameof(IMyService))]
public interface IMyServiceClient : IMyService
{
[OperationContract]
Task<bool> DoWorkAsync(int i);
}
感謝偉大的鏈接集合 – Blankman 2011-05-02 18:37:40
如果我寫下來下來[OperationContractAttribute(AsyncPattern =真)],然後執行工作作爲異步如果沒有提到,那麼相同的代碼運行同步?我對嗎 ? – 2016-08-24 06:45:12