端点是在app.config中创建的,如下所示,但是如何创建具有不同地址的多个端点?
app.config:
<service name="PokerService.PlayerService" behaviorConfiguration="ServiceBehaviorPlayer">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:5054" />
</baseAddresses>
</host>
<!-- Service Endpoints -->
<endpoint address="player" binding="netTcpBinding" bindingConfiguration="PlayerBinding" contract="PokerService.IPlayerService" />
<endpoint address="player/mex" binding="mexTcpBinding" name="ServiceBehaviorPlayer" contract="IMetadataExchange" />
</service>
</services>
但是我怎样才能生成这样的Tcp//localhost/player/1 (1-1000)
。有人有什么想法吗?
最佳答案
这将在主机上创建 1000 个端点。
var host = new ServiceHost(typeof(PokerService.PlayerService));
for(int i = 1; i <= 1000; i++)
{
host.AddServiceEndpoint(typeof(PokerService.IPlayerService),
new NetTcpBinding(),
@"net.tcp://localhost:5054/player/"+i);
}
host.Open();
编辑
我同意@JanW - 这个方法是ludacris-并且正如@JanW所说,你应该让ServiceHost处理并发,通过配置 ServiceBehavior关于您的实现。
但是,要获取托管端点的完整列表,请执行以下操作:
foreach (var e in host.Description.Endpoints)
{
Console.WriteLine(e.Address);
}
关于c# - 如何通过编码创建多个端点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15830670/