代码之家  ›  专栏  ›  技术社区  ›  Simon Johnson Andomar

在IIS中模拟运行多个网站

iis
  •  4
  • Simon Johnson Andomar  · 技术社区  · 17 年前

    在工作中,我们有多个分支机构,我们可能随时都在处理。 到目前为止,我们的解决方案是创建多个网站,但一次只能运行一个网站。这使得在分支之间切换变得更加痛苦。

    我只想转到我的hosts文件中映射的该分支的URL,它就正常工作了。

    我们的客户端机器是带有IIS 5.1的XP机器。有没有办法让IIS 5.1同时运行多个网站?

    7 回复  |  直到 17 年前
        1
  •  3
  •   Biri    17 年前

    是的,这是一个限制,这个网站只能有10个同时连接。

    购买Windows 2003或2008小型企业版,在这种情况下非常划算。

        2
  •  2
  •   John Owen    17 年前

    虚拟目录是您的选择吗?我以这种方式运行同一网站的多个版本。

        3
  •  1
  •   Martin    17 年前

    我认为IIS的一个限制是,您只能在windows操作系统的服务器版本上运行多个网站。

        4
  •  1
  •   Xiani    17 年前

    奇怪的是,这是我记得Jeff多年前谈到的事情,但我想如果你使用的是IIS 5.1,它仍然是相关的:

    http://www.codinghorror.com/blog/archives/000329.html

        5
  •  0
  •   Espo    17 年前

    无需重新安装计算机即可解决此问题的一种方法是在当前web根目录下的虚拟子目录中创建每个分支。然后在顶级网站上,创建一个默认的.asp(x) Request.ServerVariables["SERVER-NAME"] (应该是下划线)并将浏览器重定向到您想要访问的任何虚拟目录/应用程序。这样,您就可以在hosts文件中创建所需的所有“虚拟”域。

        6
  •  0
  •   John Hunter    17 年前

    使用Windows XP和IIS 5.1,您无法运行多个网站。

    但是,您可以运行多个ASP。NET主机。你可能需要亲自给主人写信。

    这样的事情应该能让你开始:

    string FileLoction = "..Path to the branch..";
    HttpListenerWrapper lw = (HttpListenerWrapper)ApplicationHost.CreateApplicationHost(
                   typeof(HttpListenerWrapper), "/", FileLocation);
    
    string[] prefixes = new string[] 
    {
       "http://localhost:8081/",
       "http://127.0.0.1:8081/"
    };
    
    lw.Configure(prefixes, "/", FileLocation);
    lw.Start();
    
        7
  •  0
  •   blowdart    17 年前

    根据Biri的回答,而不是选择SBS,有一个特定的Windows Server Web版本是最便宜的,大约399美元,不需要CAL。

    否则,如果仅适用于开发人员计算机,Vista Ultimate允许同时托管多个IIS站点。