我正在尝试ServiceExceptionHandler
在我的服务上使用扩展RestServiceBase<TViewModel>
我可以使用AppHost.ServiceExceptionHandler
,这工作正常。我需要来自HttpRequest
AppHost 级别的用户信息。
所以我正在尝试使用ServiceExceptionHandler
on 服务级别。虽然我将委托设置为 service ctor
,但它是null
在OnGet
方法上引发异常时
public class StudentService : RestServiceBase<Student>
{
public StudentService()
{
ServiceExceptionHandler = (request, exception) =>
{
logger.Error(string.Format("{0} - {1} \n Request : {2}\n", HttpRequest.UserName(), exception.Message, request.Dump()), exception);
var errors = new ValidationErrorField[] { new ValidationErrorField("System Error", "TODO", "System Error") };
return DtoUtils.CreateErrorResponse("System Error", "System Error", errors);
};
}
}
我不确定这段代码有什么问题。任何帮助将不胜感激。