现在,我们的 MVC Web 应用程序上的用户可以对服务器进行大量 ajax 调用。目前,我们在没有全局包装器/处理程序方法的情况下唯一地处理它们。我想改变这一点,但我对 C# 中的函数委托没有太多经验。
理想情况下,我希望它的设计如下:
public class GenericService
{
public PageViewModel EditPage(PageViewModel model)
{
....
}
public JsonResult JsonAjaxRequest(Func<Object, Object> serviceCall, Object data)
{
try
{
return new JsonResult() { Data = new { status = "ok", data = serviceCall(data) } };
}
catch
{
return new JsonResult() { Data = new { status = "error", message = "The server encountered an unknown error." } };
}
}
现在在我的控制器中,我有以下代码:
private readonly GenericService _service;
public JsonResult PageEdit(PageViewModel model)
{
return Json(_service.JsonAjaxRequest(x=>_service.EditPage(model), model));
}
我不断收到cannot convert from method group to system.func<object, object>
错误和invalid arguments
编译错误,我不知道为什么。请指教。