C# 动态设置WCF BaseAddressPrefixFilter

C# 动态设置WCF BaseAddressPrefixFilter,c#,asp.net,wcf,wcf-binding,C#,Asp.net,Wcf,Wcf Binding,我在共享托管环境中部署了一个WCF服务。因此,我必须详细说明(请参阅答案了解为什么需要这样做)。在web.config中设置基址前缀筛选器,如下所示 <serviceHostingEnvironment> <baseAddressPrefixFilters> <add prefix="http://example.com"/> </baseAddressPrefixFilters> </serviceHostingEnviro

我在共享托管环境中部署了一个WCF服务。因此,我必须详细说明(请参阅答案了解为什么需要这样做)。在web.config中设置基址前缀筛选器,如下所示

<serviceHostingEnvironment>
  <baseAddressPrefixFilters>
    <add prefix="http://example.com"/>
  </baseAddressPrefixFilters>
</serviceHostingEnvironment>

问题是,我有多个这样配置的环境,它们都有自己的URL(即dev、test、prod)

我尝试了以下方法,但没有成功

<serviceHostingEnvironment>
  <baseAddressPrefixFilters>
    <add prefix="http://dev.example.com"/>
    <add prefix="http://test.example.com"/>
    <add prefix="http://example.com"/>
  </baseAddressPrefixFilters>
</serviceHostingEnvironment>


因此,问题是如何在运行时动态设置baseAddressPrefixFilter?

如果您在IIS7下运行,这是一个很好的问题和解决方案演练。如果没有,WCF方面的信息仍然是您解决问题所需要知道的

你看过工厂了吗?我们在3.0服务中使用它来处理不同的主机头


如果您在IIS7下运行,这是一个很好的问题和解决方案演练。如果没有,WCF方面的信息仍然是您解决问题所需要知道的

你看过工厂了吗?我们在3.0服务中使用它来处理不同的主机头


谢谢您的回复。不幸的是,环境是IIS6,我正在寻找一个运行时解决方案,而不是服务器配置解决方案,因为它是一个共享托管环境。这似乎是目前最好的方法。我将把这个标记为答案。谢谢你的回答。不幸的是,环境是IIS6,我正在寻找一个运行时解决方案,而不是服务器配置解决方案,因为它是一个共享托管环境。这似乎是目前最好的方法。我将把这个标记为答案。