如何通过host-header更改配置

时间:2011-03-09 14:49:38

标签: silverlight wcf iis configuration

我需要多个站点都指向一个常见的应用程序,因主机头而异。

虽然每个站点的代码/内容都是相同的,但每个站点都需要一个唯一的配置,例如连接字符串。

设置它的最佳方法是什么?

(该网站实际上是一个Silverlight / WCF应用程序,虽然我认为这不重要。)

1 个答案:

答案 0 :(得分:1)

使用msi安装包并允许在安装向导中设置所有这些值或使用.NET 4.0中引入的新web.config transformation syntax(每个主机头都有单独的配置和构建目标)。

编辑 - 我首先不明白你的问题:

您必须多次安装该应用程序。您不能拥有多个不同配置的单个站点。但是您不必多次复制库 - 您可以使用链接(mklink.exe)。这意味着您将拥有一个中心目录,其中包含bin目录等共享内容,并且每个站点都有单独的目录。每个站点的目录都将包含自己的web.config和一些放置到站点根目录的内容+指向中央目录的链接。您将为IIS中的每个站点创建单独的应用程序,并将单个主机头映射到每个应用程序。

其他可能性是在您的代码中处理此问题并将所有内容都放在单个web.config中,但IMO是非常糟糕且危险的解决方案。