奇怪的asp.net mvc错误

使用asp.net Mvc3 RTM,IIS7。

我被这样的错误淹没了:

System.Web.HttpException在控制器“Interreg.Web.Controllers.ApplicationsController”上未找到公共操作方法“Application”。
System.Web.HttpException(0x80004005):在控制器'Interreg.Web.Controllers.ApplicationsController'上未找到公共操作方法'Application'。
在System.Web.Mvc.Controller.HandleUnknownAction(String actionName)
在System.Web.Mvc.Controller.ExecuteCore()
在System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
在System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext)
在System.Web.Mvc.MvcHandler。<> c_DisplayClass6。<> c_DisplayClassb.b_5()
在System.Web.Mvc.Async.AsyncResultWrapper。<> c_DisplayClass1.b_0()
在System.Web.Mvc.Async.AsyncResultWrapper> c_DisplayClass8'1.BeginSynchronous> b__7(IAsyncResult)
在System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
在System.Web.Mvc.MvcHandler。<> c_DisplayClasse.b_d()
在System.Web.Mvc.SecurityUtil.b_0(操作f)
在System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action)
在System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
在System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult结果)
在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔&完成同步)

控制器和操作的变化,他们当然确实存在,应用程序不会崩溃 - 用户不会看到死亡的黄色屏幕。

我怀疑它与静态资源加载(图像,脚本)有关,可能是路由。

任何想法有什么不对,什么会导致这种情况?


这可能是你说的。 我建议检查IIS日志以查询/ Application以查看该URL在哪里以及它的名称。

另一种选择是在调试模式下导航,在这种情况下,异常应该暂停Visual Studio中的执行。

祝你好运!


  • 验证请求的类型(GET或POST)
  • 在方法上方添加[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]属性
  • 如果Application方法返回Json结果,则返回Json添加JsonRequestBehavior.AllowGet行为。 例如: return Json(zeroResult, JsonRequestBehavior.AllowGet);
  • 链接地址: http://www.djcxy.com/p/85123.html

    上一篇: Strange asp.net mvc error

    下一篇: Jquery thickbox to work with Url.Action link in Asp.net mvc