我有一个环境,在同一台服务器上托管的多个站点将使用单个服务进行调用.例如:
http://domain1.com/Api/Service.svc
http://domain2.com/Api/Service.svc
Api应用程序已设置为映射到同一物理目录的每个站点中的虚拟目录,因此源仅位于一个位置.问题是WCF不喜欢为其服务端点提供多个基地址.为了使服务工作,我不得不添加一个基地址前缀过滤器:
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="http://domain1.com/Api" />
<!--<add prefix="http://domain2.com/Api" />-->
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
Run Code Online (Sandbox Code Playgroud)
但是这只适用于域1,因为你只允许一个baseAddressPrefixFilter(他们不应该把它baseAddressPrefixFilter 小号,如果你只允许一个).我尝试构建一个自定义的ServiceHostFactory来绕过它,但是在激活过程中调用ServiceHostFactory之前我遇到了过滤器问题.
关于如何让单个服务在这样的2个域上工作的任何想法?
我建立了一个简单的WCF服务,并将其部署到IIS6,和我注意到,它的作品在我的开发和分期的环境,而不是生产.每次我尝试点击服务元数据链接时,我都会得到一个404页面.
我已经检查了IIS配置,我能想到的它们是相同的,所以我能想到的唯一区别是生产环境是负载平衡的.
有谁知道在负载均衡器后面运行WCF服务的任何问题,我该如何解决这个问题?我是在错误的轨道上,还有另一个我应该研究的常见问题吗?