C# Sap.Net连接器3上的异步方法
我在C#.Net v4.5应用程序中使用SAP.Net Connector 3.0.0.42。到目前为止,我可以使用它而不会出现如下问题:C# Sap.Net连接器3上的异步方法,c#,asp.net,.net,asynchronous,sap-dotnet-connector,C#,Asp.net,.net,Asynchronous,Sap Dotnet Connector,我在C#.Net v4.5应用程序中使用SAP.Net Connector 3.0.0.42。到目前为止,我可以使用它而不会出现如下问题: var destination = RfcDestinationManager.GetDestination(destinationName); var repository = destination.Repository; var function = repository.CreateFunction(functionName); function.I
var destination = RfcDestinationManager.GetDestination(destinationName);
var repository = destination.Repository;
var function = repository.CreateFunction(functionName);
function.Invoke(destination);
var resultTable = function.GetTable(tableName); //This can be time consuming
有时,有些调用非常耗时,因为它们是IO绑定的操作,我想使其异步
,以便在等待完成时不阻塞线程,但Sap.Net连接器
不公开任何异步方法(据我所知)
我读过和,但要使用它,我需要低级的async
方法向上传播,对吗?例如,从Thread.Sleep
更改为Task.Delay
。但是,如果没有这样的方法呢
我的第一个想法是使用Task.Run
,但我读到它是用于CPU限制的操作的,使用它将拾取另一个线程并阻止它,因此它不是真正的异步
。另外,如果我开发一个asp.net应用程序,它将从池中获取另一个线程,不是吗
所以,我的问题是,是否有可能在
async
方法中包装sync-IO绑定方法?我真的认为我遗漏了一些东西。。。谢谢 插件中似乎没有本机支持,但正如Case Ahr所建议的,您可以在您的项目中实现