Int*_*ary 0 c# asp.net-mvc asynchronous async-await
我的MVC应用程序使用库,此库的一些方法在内部调用WCF服务.从此DLL公开的所有方法都是同步的(它们都没有返回任务或任务),因为我们不拥有该程序集,所以无法将它们转换为异步API.
但是,因为这些方法调用WCF服务,所以它们是网络绑定的(因此理想情况下它们应该是异步的).
我想在我的MVC应用程序中使用异步控制器操作,以使其更具可伸缩性.我的问题是当一个方法本质上是同步时,如何使整个方法管道等待.
异步操作 - >等待异步方法 - >等待异步方法2 - >库中的同步方法?
我应该使用TaskCompletionSource还是Task.FromResult来包装库方法调用?
另外,如果我使用上述方法,我的代码会比同步版本更具可扩展性吗?
我的问题是当一个方法本质上是同步时,如何使整个方法管道等待.
你不能.唯一的解决方案是重写dll.
我应该使用TaskCompletionSource还是Task.FromResult来包装库方法调用?
都不是.
另外,如果我使用上述方法,我的代码会比同步版本更具可扩展性吗?
不,它会稍微少可扩展性.