我正在尝试使用 ServiceStack.Razor 让一个最小的应用程序工作,但我无法让 CustomHttpHandler 工作。我已按照此处和此处的说明进行操作,但无法正常工作。
我正在使用以下代码为以下代码注册一个自定义 http 处理程序HttpStatusCode.BadRequest
:
public override void Configure(Container container)
{
this.Plugins.Add(new RazorFormat());
this.SetConfig(new EndpointHostConfig
{
CustomHttpHandlers =
{
{ HttpStatusCode.NotFound, new RazorHandler("/notfound") },
{ HttpStatusCode.BadRequest, new RazorHandler("/error") }
},
DebugMode = true
});
}
问题是,/notfound
处理程序完美地适用于 404,但无论我做什么,我都无法在抛出/error
an 时显示剃刀文件。ArgumentNullException
我的服务方法如下所示:
public object Any(Hello request)
{
if (string.IsNullOrEmpty(request.Name))
{
throw new ArgumentNullException("Name");
}
return new HelloResponse { Result = "Hello " + request.Name };
}
ServiceStack 返回 400 状态,这很好,但它仍然显示我拥有的视图HelloResponse
:
我错过了什么?我是否误解了 CustomHttpHandlers 应该如何工作?
作为参考,我把项目放在了 github 上。