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
されるたびに razor ファイルを表示することができません。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 にアップしました。