1

我有一个简单的 MVC 3 webapp,最近给我带来了麻烦——而且我看起来似乎没有任何信息可以帮助我。我一直有两个问题似乎与他们的行为方式有关。

在开发中,它在 localhost (http://localhost:53268/) 上开始正常并适用于索引,但在此之外执行任何操作都会使 IIS 返回 404,而忽略任何重定向到应该是正确 URL 的内容。

现在,在生产中,它的行为有所不同。同样,索引页面工作正常,它具有正确的 URL,但任何其他页面(通过链接或直接转到 URL)都会重定向到 localhost (https://localhost/)。对我来说奇怪的是,它在开发中正常工作(给了我通常得到 404 时应该看到的内容),但在其他机器上它完全没有提供任何东西。

我从一个已经离开的同事那里继承了这个,但给了我使用 IIS Express 让它从开发方面工作的建议。这已经在生产中工作了,但现在......不是那么多。

编辑 global.aspx 文件

public class MvcApplication : System.Web.HttpApplication
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new ElmahHandleErrorAttribute());
        filters.Add(new HandleErrorAttribute());
    }

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

    }

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
    }
}

编辑 知道了。事实证明,Web.Config 存在一些问题,而且它所在的服务器弄错了。现在工作正常。

4

0 回答 0