我负责托管在Web服务器上的Web应用程序调用托管在应用服务器上的WCF服务的项目。代理对WCF呼叫通过的ChannelFactory创建和呼叫经由信道,例如由:如果我的理解以及调用经由信道是异步和线程在web服务器上与ChannelFactory和CreateChannel的异步WCF调用
(使用块省略)
var factory = new ChannelFactory<IUserService>(endpointConfigurationName);
var channel = factory.CreateChannel();
var users = channel.GetAllUsers();
是在请求期间闲置并等待响应。
我想使异步调用像这样:
var users = await channel.GetAllUsersAsync();
有没有办法如何使的ChannelFactory和通道异步调用?我没有找到任何。我知道我可以通过svcutil/Add service reference生成异步方法,但我不想那样做。另外,我不想通过添加异步方法来更改应用程序服务器(IUserService)上的服务接口。
有什么办法如何与ChannelFactory调用异步方法?谢谢。
感谢您的回应。您有关于如何在频道周围创建自定义包装的任何提示/链接?我做了一些调查,但没有发现任何东西。 – Michal