如何从mvc应用程序向当前IIS站点添加新绑定

时间:2016-08-16 08:45:48

标签: c# asp.net asp.net-mvc iis

我有一个多租户应用程序,管理员可以从GUI添加新客户。这将设置一个客户特定的站点,其中url将类似于:customerName.mydomain.com。目前,我必须进入IIS,将该URL添加到我的站点的绑定中。我怎样才能从C#代码中做到这一点?

IIS版本为7或更高版本。

从下面的回答我得到以下结论:

您必须将文件夹“C:\ Windows \ System32 \ inetsrv \ config \”的写访问权授予网站运行的用户

var server = new ServerManager();
var site = server.Sites.FirstOrDefault(a => a.Name.Contains("mydomain"));
if (site != null)
{
    site.Bindings.Add($"*:80:{customer}.mydomain.com", "http");
    server.CommitChanges();
}

1 个答案:

答案 0 :(得分:4)

对于IIS 7及更高版本,有一个API https://blogs.msdn.microsoft.com/carlosag/2006/04/17/microsoft-web-administration-in-iis-7/

从链接:

ServerManager iisManager = new ServerManager();
iisManager.Sites[“NewSite”].Applications.Add(“/Sales”, “d:\\MyApp”);
iisManager.Update(); 

这应该让你在路上