C# 在远程Windows服务中调用方法

C# 在远程Windows服务中调用方法,c#,windows-services,C#,Windows Services,我正在为我们公司的软件制定新的许可证制度。我们使用DeployLX进行out许可,一般来说,它满足了我们的需求。 我们希望提供的选项之一是并发许可证,客户端可以在服务器上安装我们的软件,用户通过RDP连接使用我们的产品。 如果他们购买了10个许可证,我们将允许10个软件实例(在服务器上)运行 我们在C#中创建了一个并发监视器来控制许可证,如果我们只需要在一台服务器上运行我们的软件,它就可以正常工作。 但是,我们的许多客户机在服务器场配置中使用负载平衡,因此我们需要在一台服务器上安装配置监视器,在

我正在为我们公司的软件制定新的许可证制度。我们使用DeployLX进行out许可,一般来说,它满足了我们的需求。 我们希望提供的选项之一是并发许可证,客户端可以在服务器上安装我们的软件,用户通过RDP连接使用我们的产品。 如果他们购买了10个许可证,我们将允许10个软件实例(在服务器上)运行

我们在C#中创建了一个并发监视器来控制许可证,如果我们只需要在一台服务器上运行我们的软件,它就可以正常工作。 但是,我们的许多客户机在服务器场配置中使用负载平衡,因此我们需要在一台服务器上安装配置监视器,在所有其他服务器上安装我们的软件。这些服务器将需要连接到这台服务器,以联系并发监视器并验证许可证(该许可证是针对并发监视器而不是我们的软件持有的)


问题: 当前,并发监视器是安装在服务器(服务器1)上的Windows服务。那么,我如何将联系人编码为其他服务器(比如服务器2和服务器3)上的软件产品的并发监视器中的方法呢


我已尝试使用.NET ServiceController,尽管我可以连接到Windows服务,但我不知道如何(甚至是否可以)调用我在服务中编写的方法?

我不确定您是否可以调用服务中的方法。但是,您可以通过其他方式实现上述目标

一,。让每个服务器向标准位置写入它正在处理的连接数。并发监视器需要读取此值

ii.将服务实现为远程客户端,以便并发监视器可以调用此函数

iii.对Concurrent Monitor进行服务调用,以在连接数发生变化时更新连接数


您可以选择此方法或其他方法,这取决于您是否容易适应。

您最好通过WCF或.net远程处理公开此方法(我倾向于较早的方法)

谢谢Preet。我也有同样的想法,但我没有太多的WCF经验,因为我们即将发布,我希望我能走捷径。谢谢你。我们已经考虑过这一点,看起来它可以满足我们的需求,但正如我在下面对Preet所说的,我希望我们可以在Windows服务中调用一个方法来节省我们的时间。我知道截止日期迫在眉睫的情况。最后一定要让我们知道什么是有效的。谢谢你,拉姆。。我正在编写一个WCF服务来公开该方法。。我还收到了一封与Citrix管理员的电子邮件,看他能否推荐最佳方法。。我会随时向你通报最新情况,谢谢你的帮助。我真的很感激。