我可以在前一天提交的 this post 的WcfCommunicationListener上自定义ServiceHost。但是,在无状态服务上托管多个WCF端点时,我现在从Service Fabric获得了一些非常奇怪的行为。
我正在为ServiceInstanceListner数组分配多个侦听器:
我确保每个人都有一个唯一的名称,以及独特的合同,以及自定义的端点和路径。
当部署到ServiceFabric时,它们都会按预期显示为该服务上的enpoints:
当我启动我的WcfTestClient并调用其中一个端点时,我会按预期返回方法:
然而,一旦我打电话给另一个服务,陌生感就开始了,我可以看到两个合同都暴露在同一个端点上:
第二次调用初始端点会产生类似的结果:
如果我从Visual Studio项目添加服务引用,则会出现同样的问题。我还将其推送到Azure上的群集中,以确保它不是本地问题。
我已经对我的代码进行了数百次梳理,以确保监听器/服务主机不会与另一方共享任何合同,端点或其他实现细节,因此我不知道如何保持这些隔离。
我有一个非常类似的代码,我正在从云服务项目迁移,并且在该平台上工作之前从未见过这个代码。关于如何确保端点隔离的任何想法?我尝试使用单独的端口无济于事,但我不知所措。
我在WcfTestClient生成的配置文件中注意到我在每个服务上都有netTcpBindings - 但我不知道这是一个症状还是原因:
答案 0 :(得分:0)
我试图重复这个问题,但它按预期工作。 我在这里上传了样本 https://github.com/suchiagicha/Samples
然后,您可以告诉我们您是否做了不同的事情。