【发布时间】:2025-12-21 11:15:06
【问题描述】:
我正在尝试在我的服务上使用ServiceExceptionHandler,它扩展了RestServiceBase<TViewModel>
我可以使用AppHost.ServiceExceptionHandler,效果很好。我需要来自HttpRequest 的用户信息,这在 AppHost 级别不可用。
所以我尝试在服务级别使用ServiceExceptionHandler。虽然我在服务ctor 上设置了委托,但在OnGet 方法上抛出异常时它是null
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);
};
}
}
我不确定这段代码有什么问题。任何帮助将不胜感激。
【问题讨论】:
标签: servicestack