我正在编写我的第一个WCF服务,我需要一些有关我的架构的帮助。 AppPool包含7项服务。 (ConfigService,SwitchService,CameraService,TelescopeService等......)。 ConfigService返回一个xElement,它定义了应该如何使用服务。这是一个例子......
<configuration>
<configSet name="Configuration 1" Available="True">
<serviceSet name="SwitchService">
<Driver DriverId="ASCOM.Simulator.NWaySwitchDriver" ui="Standard"/>
</serviceSet>
<serviceSet name="CameraService">
<Driver DriverId="ASCOM.Simulator.Camera" ui="Standard"/>
</serviceSet>
</configSet>
<configSet name="Configuration 2" Available="True">
<serviceSet name="SwitchService">
<Driver DriverId="ASCOM.Simulator.NWaySwitchDriver" ui="Standard"/>
</serviceSet>
</configSet>
</configuration>
xml告诉消费者应用程序服务器设置了2个配置,以及为服务配置了哪些服务和驱动程序。这也意味着一次只能连接2个应用程序,每个应用程序使用单独的配置。如果第三个应用程序试图连接,则需要拒绝或告知配置尚未可用。
如何管理服务,以便只有一个消费应用程序可以使用一个由一个或多个服务组成的配置?
答案 0 :(得分:1)
我认为您必须让您的服务“注册”消费应用程序,并将其传回令牌。后续调用仅在令牌匹配时才有效。您必须设置某种超时以防止消耗服务超时。