【问题标题】:Hosted MVC3 app, only directory listing. Routing not working?托管 MVC3 应用程序,仅目录列表。路由不工作?
【发布时间】:2013-09-14 19:31:32
【问题描述】:

好的,所以部署到本地 IIS 我的项目工作正常。部署到在线主机,我只得到目录列表。

(

使用 VisualStudio 2012、mvc3、.net 4.5 发布到网络设置:

  1. 发布方式:FTP
  2. 服务器:www."mysite".co.za
  3. 站点路径:“空白”(我的理解是直接发布到app目录,所以我的根目录包含bin、views、global.asax、web.config)
  4. 目标网址:http://www."mysite".co.za
  5. 数据库已经启动并在 web.config 中配置

)

如果单击 Views 目录,我会收到 404 错误。

我接下来要做的是看它是否执行 global.asax,所以我添加了代码以在 RegisterRoutes 中抛出异常(从 Application_Start() 调用)

    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        
      );

      throw new Exception("This is my custom error: Currently in RegisterRoutes");      
    }

真的鲍勃,我得到以下信息(但仍然只有当我点击我的查看目录):

“/”应用程序中的服务器错误。

这是我的自定义错误:当前在 RegisterRoutes 中

说明:在执行当前 Web 请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 异常详细信息:System.Exception:这是我的自定义错误:当前在 RegisterRoutes 中

所以我的问题: 1. 为什么我的root 不接global.asax? 2. 如何查看 routes.MapRoute(...) 之后代码执行的结束位置? (也就是去掉 throw Exception 之后;))

问候

【问题讨论】:

  • 您的 View 目录正在执行什么操作/端点?
  • 是mvc框架使用的普通View目录。不是任何控制器的操作。
  • @E.Venter:你试过我的解决方案了吗?让我知道天气是否有效。

标签: c# asp.net-mvc-3


【解决方案1】:

您可能没有在您的服务器上注册 IIS。请使用aspnet_regiis -i注册,然后在IIS的应用程序池下查看.net版本。

【讨论】:

    【解决方案2】:

    这也发生了。通常这是由于 Web 配置中缺少一些设置。具体来说,this question 提供了答案。编辑 web 配置以加载所有请求的所有托管模块。

    <system.webServer><modules runAllManagedModulesForAllRequests="true"></modules></system.webServer>
    

    【讨论】:

    • 非常感谢!经过 3 天的反复试验,它终于启动并运行了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 2012-01-23
    • 2015-03-10
    • 2020-07-14
    • 2022-10-19
    • 2015-01-30
    • 1970-01-01
    相关资源
    最近更新 更多