gpt4 book ai didi

c# - 帮助我在 WCF 服务中选择实例管理

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:12 26 4
gpt4 key购买 nike

我的场景是这样的:

在服务器上有一个应用程序公开了一个 COM 对象,允许以编程方式与该应用程序进行交互。但是,由于许可证限制,我只能通过 COM 连接一次。因此,在初始化后,COM 对象将返回一个更具体的 ConnectionObject。

我需要一个建议,我应该为将与 ConnectionObject 交互的服务选择什么管理模型:

按调用服务:

这里我有两个选择:

  1. 我可以通过 COM 登录,执行操作和注销释放连接。但是这个记录过程有点耗时。

  2. 我可以创造一些可以保留的单例类对 ConnectionObject 的引用。问题是我不知道如何共享同一个实例通过不同实例对象服务?可能吗?

单例服务:

不存在共享ConnectionObject的问题。对象将在服务生命周期开始时创建,并在服务关闭时释放。但是我读到不推荐使用这种服务。

感谢您的任何建议。

最佳答案

鉴于您对 COM 对象的要求,以及耗时的登录和注销过程 - 我会选择单例服务。我们一直这样使用我们的 WCF 服务(也与遗留的 COM 对象对话)。

您可以将以下属性添加到 WCF 服务的类定义中以获取行为:

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 
public class MyService : IMyServiceContract
{
[OperationBehavior]
public void MyServiceCall ()

关于c# - 帮助我在 WCF 服务中选择实例管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3912804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com