2020-09-06 19:19发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好
在NCo 2.0中,过去是在设计时生成的BeginSAPInvoke(""){}和EndSAPInvoke(){}方法。
如何使用NCo 3.0达到相同的目的? 在《编程指南》中找不到有关异步编程的任何部分。
欢呼声
Jitesh
有关更多信息(包括以下示例),可以在此 SAP帮助页面一个>。 提供的示例有些简化,但是应该可以帮助您入门。 简而言之,异步方法使用标准的.NET功能,而不是烘焙到.NET连接器中的方法。 该示例对于Windows Forms客户端应用程序将很有帮助。 但是,如果要针对Web应用程序执行此操作,则可以使用Web方法和jquery $ .post函数来完成相同类型的异步调用。
希望有帮助。
示例 :
以下示例显示了异步方法调用的代码。
私有无效SAPAsyncSearch()
/*此例程使用.NET异步调用RFC_CUSTOMER_GET
*方法调用。 当功能在SAP中异步完成时,
*将调用功能" myfunction"。 */
SAPConnect();
myAsyncState = null;
myCallback = new System.AsyncCallback(myFunction);
asyncresult = null;
尝试
{
asyncresult = proxy.BeginRfc_Customer_Get(g_custNo,g_custName,ref brfcknA1Table1, myCallback,myAsyncState);
}
捕获(异常例外)
return;
亲爱的案件,
此示例适用于SAP Net Connector 2.0。 不适用于NCo 3.0 ...
我也在寻找一种使用NCO 3.0实现异步调用的方法。
Marius
嗨,在我的应用程序中,我通常使用BackgroundWorker池在另一个线程上执行此调用。
庭院
你好马库斯,
假定.NET连接器将受I/O约束,我们将要浪费CPU线程,因为在等待I/O完成时它无法执行任何处理。 对于我们的企业客户希望每分钟运行数百(甚至数千)个事务的服务器应用程序/服务,我们宁愿创建的线程数不如我们正在同时处理的请求数。 有关更多详细信息-> https://docs.microsoft.com/zh-cn/dotnet/standard/async-in-depth#deeper-dive-into-tasks-for-io-bound-operation
关于
David。
Hello Jitesh,
在.NET Connector 3.0中,没有支持异步RFC调用的特定方法。 但是,您可以通过简单地在其他线程中运行功能模块调用(如Yarden所建议的那样)自行完成此操作。
最诚挚的问候
Markus
嗨,大卫,
对。 但这就是RFC下面的层的构建方式-仅阻止IO。
最好的问候, Markus
最多设置5个标签!
有关更多信息(包括以下示例),可以在此 SAP帮助页面一个>。 提供的示例有些简化,但是应该可以帮助您入门。 简而言之,异步方法使用标准的.NET功能,而不是烘焙到.NET连接器中的方法。 该示例对于Windows Forms客户端应用程序将很有帮助。 但是,如果要针对Web应用程序执行此操作,则可以使用Web方法和jquery $ .post函数来完成相同类型的异步调用。
希望有帮助。
示例 :
以下示例显示了异步方法调用的代码。
私有无效SAPAsyncSearch()
/*此例程使用.NET异步调用RFC_CUSTOMER_GET
*方法调用。 当功能在SAP中异步完成时,
*将调用功能" myfunction"。
*/
SAPConnect();
myAsyncState = null;
myCallback = new System.AsyncCallback(myFunction);
asyncresult = null;
尝试
{
asyncresult = proxy.BeginRfc_Customer_Get(g_custNo,g_custName,ref brfcknA1Table1,
myCallback,myAsyncState);
}
捕获(异常例外)
{
return;
}
}
亲爱的案件,
此示例适用于SAP Net Connector 2.0。 不适用于NCo 3.0 ...
我也在寻找一种使用NCO 3.0实现异步调用的方法。
Marius
嗨,在我的应用程序中,我通常使用BackgroundWorker池在另一个线程上执行此调用。
庭院
你好马库斯,
假定.NET连接器将受I/O约束,我们将要浪费CPU线程,因为在等待I/O完成时它无法执行任何处理。 对于我们的企业客户希望每分钟运行数百(甚至数千)个事务的服务器应用程序/服务,我们宁愿创建的线程数不如我们正在同时处理的请求数。 有关更多详细信息-> https://docs.microsoft.com/zh-cn/dotnet/standard/async-in-depth#deeper-dive-into-tasks-for-io-bound-operation
关于
David。
Hello Jitesh,
在.NET Connector 3.0中,没有支持异步RFC调用的特定方法。 但是,您可以通过简单地在其他线程中运行功能模块调用(如Yarden所建议的那样)自行完成此操作。
最诚挚的问候
Markus
嗨,大卫,
对。 但这就是RFC下面的层的构建方式-仅阻止IO。
最好的问候,
Markus
一周热门 更多>