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

dev*_*ero 6 c# asp.net iis asp.net-mvc

我有一个多租户应用程序,管理员可以从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();
}
Run Code Online (Sandbox Code Playgroud)

ste*_*-fu 4

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

\n\n

从链接:

\n\n
ServerManager iisManager = new ServerManager();\niisManager.Sites[\xe2\x80\x9cNewSite\xe2\x80\x9d].Applications.Add(\xe2\x80\x9c/Sales\xe2\x80\x9d, \xe2\x80\x9cd:\\\\MyApp\xe2\x80\x9d);\niisManager.Update(); \n
Run Code Online (Sandbox Code Playgroud)\n\n

这应该能让你上路

\n