添加 MVC 并路由到 WebForms 项目后,IIS 中的默认文档 (default.aspx) 不起作用

发布于 2024-12-06 14:33:03 字数 250 浏览 0 评论 0原文

我有一个现有的 ASP.NET 3.5 WebForms 项目,并将 ASP.NET MVC 添加到该项目中。现有的页面工作正常,新的控制器和页面也工作正常。意见。但是,当我部署到 IIS 7 时,默认文档 (default.aspx) 不再工作。如果我明确地输入它,我就可以找到它,但是 'xyz.com' 不起作用 - 我得到一个 404。相比之下,它在卡西尼号中工作得很好。

如何让默认文档再次工作,同时仍保留新的 MVC 内容。

I have an existing ASP.NET 3.5 WebForms project and have added ASP.NET MVC to the project. The existing pages work fine and so do the new controllers & views. However, when I deploy to IIS 7 the default document (default.aspx) is no longer working. I can get to it if I type it in explicitly but 'xyz.com' doesn't work - I get a 404. In contrast, it does work fine in Cassini.

How do I get the default document working again while still retaining the new MVC stuff.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半夏半凉 2024-12-13 14:33:03

我将以下内容添加到 Global.asx.cs 文件中,默认文档再次工作。

    public static void RegisterRoutes(RouteCollection routes)
    {
        // *** This Line ***
        routes.IgnoreRoute("");                                     // Required for the default document in IIS to work
        // *****************
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");

        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );
    }

    protected void Application_Start(Object sender, EventArgs e)
    {
        RegisterRoutes(RouteTable.Routes);
    }

I added the following to the Global.asx.cs file and the default document works again.

    public static void RegisterRoutes(RouteCollection routes)
    {
        // *** This Line ***
        routes.IgnoreRoute("");                                     // Required for the default document in IIS to work
        // *****************
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");

        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );
    }

    protected void Application_Start(Object sender, EventArgs e)
    {
        RegisterRoutes(RouteTable.Routes);
    }
他不在意 2024-12-13 14:33:03

您是否为 IIS 应用程序启用了默认文档,并且 default.aspx 是否在列表中?只需仔细检查这些内容,我想不出还有什么会影响 default.aspx 页面的服务。 IIS 应该看起来像这样:

IIS Default Document

Do you have Default Documents enabled for your IIS application, and is default.aspx in the list? Just double-check those, I can't think of anything else that would affect the serving of the default.aspx page. IIS should look something like this:

IIS Default Document

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文