尝试访问本地 IIS 中的 MVC 应用程序时收到 404 错误
我在本地 IIS 上有一个使用以下格式的 Web 表单设置构建的现有网站设置:
-MainSite
-Application1
-Application2
-Application3
每个位置都有单独的应用程序,因此 MainSite 有一个应用程序,Application1 有另一个应用程序,依此类推。这样就可以在同一站点中的不同应用程序上进行开发。我想添加一个新的应用程序,它是 MVC 而不是 Web 表单。我创建了一个新的 MVC 项目,它在 Cassini 中运行得很好,但是当我为其创建一个新的 IIS 应用程序并将其指向 MVC 项目时,我无法在浏览器中导航到它并收到 404 错误。我希望能够导航到 http://MainSite/NewMVCApplication/。我希望 NewMVCApplication 的根指向我的联系人控制器。
新 MVC 应用程序中的 global.asax 当前如下所示:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Root", // Route name
"", // URL with parameters
new { controller = "Contacts", action = "Index", id = "" } // Parameter defaults
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
}
}
I have an existing web site setup on my local IIS built with web forms setup in this format:
-MainSite
-Application1
-Application2
-Application3
There are separate applications in each location, so MainSite has an application, and Application1 has another application and so on. This way development on different applications in the same site can be broken out. I want to add a new Application that is MVC instead of web forms. I created a new MVC project which runs in Cassini just fine, but when I create a new IIS application for it and point it to the MVC project I am unable to navigate to it in the browser and get a 404 error. I am expecting to be able to navigate to http://MainSite/NewMVCApplication/. I want the root of NewMVCApplication to point to my Contacts Controller.
My global.asax in the new MVC application currently looks like this:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Root", // Route name
"", // URL with parameters
new { controller = "Contacts", action = "Index", id = "" } // Parameter defaults
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
确保 NewMVCApplication 正在集成模式管道应用程序池中运行。
Make sure NewMVCApplication is running in an integratedMode pipeline application pool.