ASP.NET MVC ではController
、アクションから何かを返すためにクラスに使用できるメソッドのセットは限られています。
HttpNotFoundResult HttpNotFound()
エラーの方法はありますが、他の方法はありません。
中身はHttpNotFound()
?401 Unauthorized
または403 Forbidden
またはのような他のエラー コードに対して同様のメソッドを作成するにはどうすればよい406 Not Acceptable
ですか?
ASP.NET MVC ではController
、アクションから何かを返すためにクラスに使用できるメソッドのセットは限られています。
HttpNotFoundResult HttpNotFound()
エラーの方法はありますが、他の方法はありません。
中身はHttpNotFound()
?401 Unauthorized
または403 Forbidden
またはのような他のエラー コードに対して同様のメソッドを作成するにはどうすればよい406 Not Acceptable
ですか?
次のように実装されます。
public class HttpNotFoundResult : HttpStatusCodeResult
{
public HttpNotFoundResult() : this(null)
{
}
public HttpNotFoundResult(string statusDescription) :
base(HttpStatusCode.NotFound, statusDescription)
{
}
}
実行されると、HttpStatusCodeResultは単純にステータス コードとステータスの説明を に設定しますcontext.HttpContext.Response
。HttpStatusCodeResultクラスから継承して、独自の結果を作成できます。例えば
public class HttpUnauthorizedResult : HttpStatusCodeResult
{
public HttpUnauthorizedResult() : this(null)
{
}
public HttpUnauthorizedResult(string statusDescription) :
base(HttpStatusCode.Unauthorized, statusDescription)
{
}
}