기본 Func을일반 Func <T>을 통해 JsonResult를 반환하는 방법?
public class HomeController: BaseController
{
public JsonResult HomeController()
{
var model = ExecuteHandledJTableJsonOperation(() =>
{
//do some stuff
}, LocalResources.CommonErrorMessage);
return Json(model);
}
}
내가 반환 JSON으로 시도 할 때 Func을
public class BaseController : Controller
{
public T ExecuteHandledJTableJsonOperation<T>(Func<T> actionToExecute, string errorMessage)
{
try
{
return actionToExecute.Invoke();
}
catch (Exception ex)
{
LogEntry entry = new LogEntry();
entry.AddErrorMessage(ex.Message);
entry.AddErrorMessage(String.Format("Inner Exception:", ex.InnerException.Message));
//entry.Message = ex.Message;
entry.Priority = 1;
entry.EventId = 432;
entry.Severity = System.Diagnostics.TraceEventType.Error;
writer.Write(entry);
return Json(new { Result = "ERROR", Message = errorMessage });
}
}
}
그것은 나에게 오류를 검색 기대하는 기본 방법을 기대하는 방법 (새를 {사용하는 작용을 갖는 Result = "ERROR", Message = errorMessage});
암시 적으로 'T'
나는이 작업을 하나의 실행 것으로 예상 ExecuteHandledJTableJsonOperation
의 재정의를 만드는 경우가 더 잘 알고/반환에 유형 'System.Web.Mvc.JsonResult을'변환 할 수 없습니다 일반적으로 작업에 excetion이있을 때 실행할 두 번째 작업입니다. 이 같은
뭔가 :
return ExecuteHandledJTableJsonOperation(() =>
{
//do something
return Json(new { Result = "OK", Records = excepciones, TotalRecordCount = excepciones.Count() });
},() =>
{
return Json(new { Result = "ERROR", Message = Properties.Resources.CommonErrorMessage });
});
하지만 첫 번째 경우 해결하는 방법을 알고 싶어 암시 'T'
덕분에 유형 'System.Web.Mvc.JsonResult을'변환 할 수 없습니다를 .