【问题标题】:separate IIS binding for application应用程序的单独 IIS 绑定
【发布时间】:2016-01-27 20:55:17
【问题描述】:

我正在尝试通过使用 c# 的程序 IN IIS 7 来部署网站。

我想在默认网站下部署应用程序。

应用程序应该有一个不同的端口号(90),与默认网站下的其他应用程序分开,甚至是默认网站的默认端口号(即8080)。

我正在尝试使用 ServerManager 类以编程方式执行此操作,而不在网站的 web.config 文件中指定任何绑定信息。

static void CreateSite()
    {
        using (ServerManager server = new ServerManager())
        {
            if (server.Sites != null && server.Sites.Count > 0)
            {
                Site defaultsite=server.Sites.FirstOrDefault(s => s.Name == "Default Web Site");
                if (defaultsite != null)
                {
                    string path = @"C:\inetpub\wwwroot\MyApp\";

                    //specify the Binding information
                    string ip = "*";
                    string port = "90";
                    string hostName = "*";


                    string bindingInfo = string.Format(@"{0}:{1}:{2}", ip, port, hostName);
                    defaultsite.Applications.Add("/MyApp", path);

                 server.CommitChanges();
                }
            }
        }
    }

ServerManager 类允许我们为每个站点创建/更新/删除绑定,而不是为站点下的每个应用程序创建/更新/删除绑定,如下所示。

                    string ip = "*";
                    string port = "90";
                    string hostName = "*";


                    string bindingInfo = string.Format(@"{0}:{1}:{2}", ip, port, hostName);
                    BindingCollection bindingCollection = defaultsite.Bindings;
                    Binding binding = defaultsite.Bindings.CreateElement("binding");
                    binding["protocol"] = "http";
                    binding["bindingInformation"] = bindingInfo;
                    bindingCollection.Add(binding);
                    server.CommitChanges();

如何使用 ServerManager 类方法为 IIS 7.0 中的应用程序指定不同的端口号?

【问题讨论】:

    标签: c# asp.net iis servermanager


    【解决方案1】:

    您可以创建一个新网站并将其分配给您选择的端口号。在该网站下,您可以配置您的应用程序。

    【讨论】:

    • 我需要在默认网站下部署应用程序,而不是在 IIS 中创建新网站
    • 如果您在默认网站下托管它,那么您不能只为该特定应用程序配置单独的端口。您可以为默认网站绑定端口号。那么默认网站下的所有应用程序也会监听新端口。
    • 否则你可以在 IIS 中尝试 ARR(Application Request Routing)。
    猜你喜欢
    • 1970-01-01
    • 2010-11-19
    • 2014-07-18
    • 2011-01-01
    • 2020-10-06
    • 2011-07-22
    • 1970-01-01
    • 2015-07-20
    • 2016-10-05
    相关资源
    最近更新 更多