wcf - 在 WCF 服务中调用 STA Visual Basic 6.0 COM 对象的最佳实践 : Concurrent access

标签 wcf com concurrency vb6 sta

我有一个 WCF 服务,它调用 STA Visual Basic 6.0 COM 对象。如果只有一个客户端使用该服务,一切都会正常工作,但是一旦并发用户开始调用它,我就会遇到麻烦,并且在调用 COM 对象的方法之一时会遇到各种随机错误。

首先,我通过在文章 Calling an STA COM Object from a WCF Operation 的帮助下添加对 STAOperationBehavior 属性的支持来解决此问题。

嗯,它很有帮助,有一段时间一切似乎都运行良好,但现在当多个用户调用该服务时,我开始在特定服务器上收到 System.AccessViolationException 错误。

我读到这可能是一个线程问题,我应该在我的 Web 服务中使用互斥体或实例上下文。

确保并发用户可以在 WCF 服务中使用 STA COM 对象而不会出现任何问题的最佳实践是什么?

最佳答案

如果该对象未设计为可供多个用户同时使用,那么您根本无法允许多个用户使用它。

关于wcf - 在 WCF 服务中调用 STA Visual Basic 6.0 COM 对象的最佳实践 : Concurrent access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9401325/

相关文章:

wcf - Tridion 2011 CoreService 连接

c++ - COM 自动化后 Excel 进程不会退出

c++ - 使用 C++ 从 32 位进程访问 64 位 dll

java - 实现并发 LinkedHashMap

xml - WCF XML 结构 - 如何删除包装器节点?

c# - 如何在 WCF 客户端中同时提供用户名和客户端证书(此示例为何有效)?

c# - 在任务中进行异步/等待数据库调用?

c++ - IActiveScript 分析 - 查看脚本源

Java-ThreadLocal 与 ConcurrentHashMap

c++ - 为什么在这种无竞争的情况下原子比锁慢得多?