有一个WCF程序(我将其称为“ABC”)。 此WCF程序(“ABC”)可以托管服务或连接到托管其他“ABC”的服务。因此,“ABC”可以是主程序或客户端程序。 首先,“ABC”发现托管的任何服务(如果找到)连接到服务。 或托管服务。
如果“ABC”开始,然后另一个“ABC”开始,首先开始的“ABC”将是主持人,之后开始的“ABC”将是客户端。
在这一点上,我有一个问题。 如果两个“ABC”同时启动,则两个“ABC”无法找到所有托管服务,并分别托管每个。我想解决这个问题。 虽然两个“ABC”同时启动,但第一个应该是主机,第二个应该是客户端。我怎么能这样?还有其他好的算法吗?
答案 0 :(得分:0)
一种方法是拥有一个跟踪主机实例是否正在运行的中心位置。让每个实例调用它并说它们想要成为主机实例,并让它返回一个值,指示是否有一个主机实例已经运行(或者换一种方式,指示调用者是否应该是一个主机实例)。让每个实例根据回复进入适当的模式。让服务器跟踪状态并等待正在运行的主机实例崩溃,然后你可以观看烟花......