在同一个IIS和相同的端口(80)上提供网站项目和Web服务项目?

时间:2012-01-20 02:16:32

标签: asp.net web-services iis

背景

我有一个Visual Studio解决方案,包含一个网站+ REST网络服务,我想将其拆分为一个Web服务项目和一个网站项目。

目前,通过App_Code\global.asax.cs在应用程序启动期间启动了Web服务,其代码如下:

public class Global : System.Web.HttpApplication
{
    void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup
        RouteTable.Routes.Add(new ServiceRoute("api/", new WebServiceHostFactory(), typeof(myWebInterfaceSvc)));
    }
    // more code here
}

我想我需要从上面开始分开它......

关注:

现在,我担心的是如果没有常见的HTTP处理程序和上面的额外路由,即一旦我将它们作为两个单独的项目,它们将是两个独立的IIS站点/应用程序,因此它们将在两个不同的端口上运行。我仍然希望BOTH能够回复80端口

http(s):// www.site.com - >网站项目

http(s)://www.site.com/api - >网络服务

假设我成功分离了网站和网络服务,我将如何为上述设置IIS?

1 个答案:

答案 0 :(得分:2)

我最终将主网站设置为IIS中的根/主站点,然后将该服务添加为其中的虚拟子目录。