我有一个需要使用 jabber-net 对象向客户端发送 XMPP 消息的 web 服务。
(它用于处理打印:当 web 服务需要打印某些东西时,我将 XMPP 消息发送到在插入打印机的特定机器上运行的 Windows 窗体客户端,带有打印作业类型和 URL,然后客户端下载数据并将其发送到打印机。此通信通道还将用于其他 POS 功能,例如打开抽屉、与芯片和引脚设备通信等,因此打印替代方案将无济于事)。
我有一个包含 jabber-net 对象实例的静态对象,它登录到 XMPP 服务器,然后可用于发送消息。
这工作正常单线程。当我将 web 服务转换为 web 园以便它可以在多个线程上工作时,似乎每个线程都有自己的 jabber-net 对象实例,所以他们都试图登录到 XMPP 服务器一次作为同一用户,这意味着他们不断被踢出。
问题:有没有办法在网络花园中的所有线程之间共享一个活动对象(可能处理事件,而不是序列化对象,而不仅仅是数据),如果是这样,最好的方法是什么?