C# WCF终结点在服务结构中公开多个协定

C# WCF终结点在服务结构中公开多个协定,c#,wcf,azure,azure-service-fabric,C#,Wcf,Azure,Azure Service Fabric,我能够在前几天提交的WcfCommunicationListener上自定义ServiceHost。然而,当在无状态服务上托管多个WCF端点时,我现在从服务结构中得到一些非常奇怪的行为 我正在为ServiceInstanceListner阵列分配多个侦听器: 我要确保它们都有唯一的名称、唯一的契约以及自定义端点和路径 部署到ServiceFabric时,它们都按预期显示为该服务上的enpoints: 当我启动我的WcfTestClient并调用其中一个端点时,我得到了预期的方法: 然而,一旦我调

我能够在前几天提交的WcfCommunicationListener上自定义ServiceHost。然而,当在无状态服务上托管多个WCF端点时,我现在从服务结构中得到一些非常奇怪的行为

我正在为ServiceInstanceListner阵列分配多个侦听器:

我要确保它们都有唯一的名称、唯一的契约以及自定义端点和路径

部署到ServiceFabric时,它们都按预期显示为该服务上的enpoints:

当我启动我的WcfTestClient并调用其中一个端点时,我得到了预期的方法:

然而,一旦我调用了另一个服务,陌生感就开始了,我可以看到两个契约都暴露在同一个端点上:

第二次调用初始端点会产生类似的结果:

如果我从VisualStudio项目添加服务引用,同样的问题也会发生。我还将其推送到Azure上的集群,以确保它不是本地问题

我已经对我的代码进行了数百次梳理,以确保侦听器/服务主机都不与其他侦听器/服务主机共享任何契约、端点或其他实现细节,因此我不知道如何保持这些隔离

我有非常相似的代码,我正在从一个云服务项目迁移,以前在该平台上工作时从未见过。关于如何确保端点隔离有什么想法吗?我尝试使用单独的端口,但没有效果,我不知所措

我确实在WcfTestClient生成的配置文件中注意到,我在每个服务上都表示了两个NetTcpBinding,但我无法判断这是症状还是原因:


我试图重新处理这个问题,但效果如期。 我已经把样品上传到这里了


然后,您可以告诉我们您是否正在做任何不同的事情。

谢谢,我明天会尝试,让您知道它是否有效,如果有效,将与我的解决方案进行比较,并发布我的发现。谢谢,您的示例按预期工作,我能够将您创建端点的方法实施到我的解决方案中,现在它按预期工作。我不能100%确定为什么我的代码不起作用,但我注意到您的方法要求元数据交换端点位于侦听器的不同端口上,否则会导致服务结构上出现异常。这可能造成了所有的不同。