如何异步调用我的WCF服务?

Bla*_*man 25 .net c# wcf windows-services

我有一个WCF服务,我从Windows服务调用.

WCF服务运行一个SSIS包,该包可能需要一段时间才能完成,我不希望我的Windows服务必须等待它完成.

如何使我的WCF服务调用异步?(或者它是默认的异步?)

Per*_*der 27

MSDN的以下文章将满足您的所有需求:

实现异步服务操作

调用WCF服务异步

设计服务合同


Bah*_*mut 13

在Visual Studio 2010上的Add Service Reference > click Advanced button > check the Generate Asynchronous Operations复选框上.

执行此操作后,将添加Async操作并供您使用.


Sta*_* BZ 9

服务方面:

[ServiceContract]
public interface IMyService
{
    [OperationContract]
    bool DoWork(int i);
}
Run Code Online (Sandbox Code Playgroud)

客户端:

[ServiceContract(Name = nameof(IMyService))]
public interface IMyServiceClient : IMyService
{
    [OperationContract]
    Task<bool> DoWorkAsync(int i);
}
Run Code Online (Sandbox Code Playgroud)

  • 这个问题的很多答案都来自2012年之前.这是现代化的方法. (2认同)