Asp.net mvc 将MVC应用程序添加为子网站

Asp.net mvc 将MVC应用程序添加为子网站,asp.net-mvc,iis,Asp.net Mvc,Iis,我已经启动并运行了一个通用的web应用程序http://sites.acme.com. 我想添加一个子网站http://sites.acme.com/subsite1. 过去,要添加新的子网站子网站1,我们只需将项目从VS发布到该文件夹Sites/SubSite1的子文件夹中,然后通过添加以下内容编辑网站的web.config: <location path="SubSite1"> <system.webServer> <defaultDocument

我已经启动并运行了一个通用的web应用程序http://sites.acme.com. 我想添加一个子网站http://sites.acme.com/subsite1.

过去,要添加新的子网站子网站1,我们只需将项目从VS发布到该文件夹Sites/SubSite1的子文件夹中,然后通过添加以下内容编辑网站的web.config:

<location path="SubSite1">    
<system.webServer>
  <defaultDocument enabled="true">
    <files>
      <clear/>
      <add value="index.aspx"/>
    </files>
  </defaultDocument>
</system.webServer>
</location>   
现在,我试图发布一个没有aspx页面的mvc网站,我试图找出如何让IIS识别它需要点击subite1.dll才能启动主控制器,并返回index.cshtml


我需要编辑站点web配置中的任何配置吗?

通常在MVC应用程序中,我们不设置默认文档。我们在注册路由时设置默认控制器和默认操作。例如,以下路由注册将默认控制器设置为主控制器,将默认操作设置为索引

routes.MapRoute(
       "Default",               // Route name
       "{controller}/{action}", // URL with parameters
        new { controller = "Home", action = "Index" }  // Parameter defaults
        );
因此,当用户键入时,它会在主控制器中引发索引操作。它和用户输入一样好


现在,为了设置您的场景,您不需要添加问题中所示的默认文档配置。只需将子网站1配置为IIS中“站点”应用程序下的应用程序,只要您正确设置了子网站1的路由,就可以了。

因此,如果我的子网站位于名为子网站1的文件夹中,并且它的默认值为“主页/索引”,那么哪个url应该将我带到我的索引视图,http://sites.acme.com/subsite1?@史蒂夫·凯帕诺·艾格林:是的。将带您进入subsite1应用程序的默认视图。别忘了在IIS中将subsite1配置为应用程序。将其配置为应用程序,通用网站web.config如下所示:但我仍然收到一个500错误。也重新启动了IIS。请检查事件日志,看看是否有任何错误记录在那里。我的问题最终与文件夹结构或命名无关。它不起作用,因为我忘了这是一个与我部署的服务器不同的服务器,而且我们还没有在该服务器上安装.net core。