我想通过Web应用程序(asp.net 4.0 / C#)在一个正在IIS7上工作的网站添加一个主机头。在互联网上有一些例子,但我猜他们中的大多数都不适用于iis7。 (注意:Web应用程序托管在同一台服务器上,所以我想在更改iis配置时不会出现安全问题)
感谢任何帮助,谢谢
答案 0 :(得分:2)
我找到了这个解决方案,它对我有用。这是一个带有几个参数的小函数,只需要在你的iss配置中找到你的网站的id。之后你必须给服务器的ip地址(iis) ),以及函数的端口号和主机名,它将使用您输入的参数添加主机头。例如
AddHostHeader(2,“127.0.0.1:81”,81,“newsHostHeader”);
static void AddHostHeader(int? websiteID, string ipAddress, int? port, string hostname)
{
using (var directoryEntry = new DirectoryEntry("IIS://localhost/w3svc/" + websiteID.ToString()))
{
var bindings = directoryEntry.Properties["ServerBindings"];
var header = string.Format("{0}:{1}:{2}", ipAddress, port, hostname);
if (bindings.Contains(header))
throw new InvalidOperationException("Host Header already exists!");
bindings.Add(header);
directoryEntry.CommitChanges();
}
}
(注意:不要忘记使用添加到页面 的System.DirectoryServices;使用Microsoft.Web.Administration; )
答案 1 :(得分:0)
上面的解决方案对我来说与IIS7.5不太一致。 我最终不得不这样做 http://www.iis.net/configreference/system.applicationhost/sites/site/bindings/binding