点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我可能没有正确使用Begin.Context/EndContext,因为我有使用目标混合的并发线程(包括使用同一目标的多个线程),每个线程都没有对我认为是其私有状态连接的并发同步操作
麻烦的第一个征兆是,几次成功调用之后,RfcConfigParameters中的User属性变为零。 如果线程在它获得的RfcDestination实例上再次调用,则会出现"重复登录"失败异常,因为用户名不再正确。
我不知道为什么用户名会用零标记,我想知道SecureString或类似的实现是否掌握了所提供的凭据,使字节数组支持该字符串并一旦用完就用零标记在字符串上 泄露敏感信息。 但是,总的来说,密码仍然存在,只是用户属性为零。
我试图通过在每次使用RfcDestination之前检查RfcDestination Parameters属性来解决此问题,如果它们与我提供的值不匹配(并且仍具有副本),我将发出配置更改通知 我向变更事件支持注册了目标配置单例。 在Rfc配置事件参数中,我提供了changed类型,并在changedParameters中包含了USER和NAME。 对于触发它的线程,我从NCo获取了一个新的RfcDestination,在该处,我确实看到Parameters的User属性返回了实际的用户名,而不是零。 但是,对于其他线程,在检查之后正在调用其RfcDestination的引用时,它们会收到RCo的NCo异常,目标已关闭-例如无法获取SystemAttributes-。
在《 NCo 3编程指南》中提到了在多线程环境中使用NCo的示例。 我在哪里可以找到/下载此样本? 是否有关于多线程和NCo的最佳实践/准则的文章?
对此进行了一些更新:
一周热门 更多>