如何在不同客户端调用WCF时共享对象?

发布于 2024-12-11 14:47:02 字数 219 浏览 0 评论 0原文

我认为当客户端执行 new wcfclient() 时,WCF 将创建新线程来处理来自该连接的所有调用? (我希望我是对的)。
因此,如果有不同的客户端调用 WCF(例如计算机 A 和计算机 B),那么 WCF 应该在不同的线程中处理每个客户端。那么如果我想在这些线程之间共享一个对象,我该怎么做呢?

使用静态对象?

不同的客户端调用WCF是否会将其视为不同的进程?或者是不同的线程?

I think when client do new wcfclient(), the WCF will create new thread to handle all the call from that connection? (I hope I am right).
So if there is different client make calls to WCF (say computer A & computer B), then the WCF should handle each client in different thread. So if I want to share a object between those thread, how can I do it?

Use static object?

Is different client calls the WCF will treat it as different process? or is different thread?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

此生挚爱伱 2024-12-18 14:47:02

如果确实只有一个实例应该在所有请求之间共享,那么您需要使用单例模式 。我确信有人会很快指出 - 使用这种模式通常不是一个好主意。您将在锁定和可扩展性方面遇到麻烦。

不过,更好的方法是以某种串行格式保存对象。如果可能的话,可以是文件或数据库。然后,您可以根据后续请求重新具体化该对象。

You'd need to use the singleton pattern, if truly only one instance should be shared across all requests. As I'm sure someone will be quick to point out - using this pattern is generally not a good idea. You will run into trouble with locking and scalability.

Better, though, would be to persist the object in some serial format. Either to a file or a database if that's possible. You can then re-materialize the object on subsequent requests.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文