WCF端点在Service Fabric中公开多个合同

时间:2017-03-16 22:27:57

标签: c# wcf azure azure-service-fabric

我可以在前一天提交的 this post 的WcfCommunicationListener上自定义ServiceHost。但是,在无状态服务上托管多个WCF端点时,我现在从Service Fabric获得了一些非常奇怪的行为。

我正在为ServiceInstanceListner数组分配多个侦听器:enter image description here

我确保每个人都有一个唯一的名称,以及独特的合同,以及自定义的端点和路径。

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

enter image description here

当我启动我的WcfTestClient并调用其中一个端点时,我会按预期返回方法:

enter image description here

然而,一旦我打电话给另一个服务,陌生感就开始了,我可以看到两个合同都暴露在同一个端点上:

enter image description here

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

enter image description here

如果我从Visual Studio项目添加服务引用,则会出现同样的问题。我还将其推送到Azure上的群集中,以确保它不是本地问题。

我已经对我的代码进行了数百次梳理,以确保监听器/服务主机不会与另一方共享任何合同,端点或其他实现细节,因此我不知道如何保持这些隔离。

我有一个非常类似的代码,我正在从云服务项目迁移,并且在该平台上工作之前从未见过这个代码。关于如何确保端点隔离的任何想法?我尝试使用单独的端口无济于事,但我不知所措。

我在WcfTestClient生成的配置文件中注意到我在每个服务上都有netTcpBindings - 但我不知道这是一个症状还是原因:

enter image description here

1 个答案:

答案 0 :(得分:0)

我试图重复这个问题,但它按预期工作。 我在这里上传了样本 https://github.com/suchiagicha/Samples

然后,您可以告诉我们您是否做了不同的事情。