Asp.net mvc JsonResult异常问题

Asp.net mvc JsonResult异常问题,asp.net-mvc,Asp.net Mvc,我有一个控制器操作,它返回JsonResult,并由jquery ajax get请求使用。所有这些都在我的开发机器上运行良好,但在生产主机上复制时,我在最后一行控制器操作中遇到以下异常: [AcceptVerbs(HttpVerbs.Get)] public JsonResult Single(int UNIQUE_NO) { ... return Json(data, JsonRequestBehavior.AllowGet); // < here exception is

我有一个控制器操作,它返回JsonResult,并由jquery ajax get请求使用。所有这些都在我的开发机器上运行良好,但在生产主机上复制时,我在最后一行控制器操作中遇到以下异常:

[AcceptVerbs(HttpVerbs.Get)]
public JsonResult Single(int UNIQUE_NO) {
  ...
  return Json(data, JsonRequestBehavior.AllowGet);  // < here exception is thrown
}
[AcceptVerbs(HttpVerbs.Get)]
公共JsonResult单个(int UNIQUE_NO){
...
返回Json(数据,JsonRequestBehavior.AllowGet);//<此处引发异常
}
未找到方法:“System.Web.Mvc.JsonResult System.Web.Mvc.Controller.Json(System.Object,System.Web.Mvc.JsonRequestBehavior)”

例外情况正在被ELHAM捕获

平台:ASP.NET MVC 2测试版

应用程序附带的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)”。 at NN_AccessToWeb_MVC2.Controller.HomeController.Single(Int32唯一编号) 在lambda_方法上(ExecutionScope、ControllerBase、Object[]) 位于System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller,Object[]参数) 在System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext ControllerContext,IDictionary
2个参数)
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext ControllerContext、ActionDescriptor ActionDescriptor、IDictionary
2个参数) 在System.Web.Mvc.ControllerActionInvoker.c_uuDisplayClassA.b_uuu7()中 位于System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter筛选器、ActionExecutingContext预文本、Func
1 continuation)
在System.Web.Mvc.ControllerActionInvoker.c_uuDisplayClassA.c_uuuDisplayClassC.b_uuu9()中
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext ControllerContext,IList
1过滤器,ActionDescriptor ActionDescriptor,IDictionary`2参数)
在System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext ControllerContext,String actionName)

尝试返回一个新的
JsonResult

return new JsonResult {
    JsonRequestBehavior = JsonRequestBehavior.AllowGet,
    Data = /* you model goes here */,
    ContentType = "application/json",
    ContentEncoding = Encoding.UTF8
};

Json(数据,JsonRequestBehavior.AllowGet)不是已经是JsonResult了吗?是的。它是一个类似于
View()
的助手,用于新建ViewResult。可能您没有包括正确的名称空间?这会引发类似的异常>System.MissingMethodException Method not found:“Void System.Web.Mvc.JsonResult.set_JsonRequestBehavior(System.Web.Mvc.JsonRequestBehavior)”。<哪个名称空间我可能会被遗漏吗?你包含了什么名称空间?我已经在原始帖子中添加了包含的名称空间。这显然是名称空间或类似的问题,因为我无法在dev machine上重新创建异常。return Json(YOURDATA),“application/Json”,Encoding.UTF8,JsonRequestBehavior.AllowGet);工作很好你有没有找到解决办法?这是一个非常有趣的例外。。。
return Json(data, "application/json", Encoding.UTF8, JsonRequestBehavior.AllowGet);