【发布时间】:2009-12-08 13:41:38
【问题描述】:
我有控制器操作,它返回 JsonResult 并由 jquery ajax get 请求使用。在我的开发机器上一切正常,但是在生产主机上复制时,我在最后一行控制器操作中遇到异常:
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult Single(int UNIQUE_NO) {
...
return Json(data, JsonRequestBehavior.AllowGet); // < here exception is thrown
}
找不到方法:'System.Web.Mvc.JsonResult System.Web.Mvc.Controller.Json(System.Object, System.Web.Mvc.JsonRequestBehavior)'。
ELHAM 正在捕获异常。
平台:ASP.NET MVC 2 Beta
应用程序随附的 Dll(复制本地:true): Microsoft.Web.Mvc、MvcContrib、MvcContrib.FluentHtml、MvcContrib.TestHelper、Rhino.Mocks、System.Web.Mvc、System.Web.Routing
这里发生了什么?什么/我应该在哪里寻找这个? (如上所述,我的开发机器上没有出现此异常,其中 json 结果对象按预期生成并返回给调用者)
这里是调用堆栈(ELMAH):
System.MissingMethodException:找不到方法:'System.Web.Mvc.JsonResult System.Web.Mvc.Controller.Json(System.Object, System.Web.Mvc.JsonRequestBehavior)'。
在 NN_AccessToWeb_MVC2.Controllers.HomeController.Single(Int32 UNIQUE_NO)
在 lambda_method(ExecutionScope, ControllerBase, Object[])
在 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase 控制器,Object[] 参数)
在 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext 控制器上下文,IDictionary2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 参数)
在 System.Web.Mvc.ControllerActionInvoker.c__DisplayClassa.b__7()
在 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter 过滤器,ActionExecutingContext preContext,Func1 continuation)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassa.<>c__DisplayClassc.<InvokeActionMethodWithFilters>b__9()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList1 过滤器,ActionDescriptor actionDescriptor,IDictionary`2 参数)
在 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
【问题讨论】:
-
您找到解决方案了吗?这是一个非常有趣的例外......
标签: asp.net-mvc