ASP.NET MVC 5.0을 사용하여 서버 모니터링 응용 프로그램을 만들고 싶습니다. 서버를 사용할 수없는 경우 서버 상태에 대한 세부 정보가 포함 된 Json 콘텐츠와 함께 HTTP 503 상태 코드를 반환하려고합니다. 또한 특정 응답 (예 : 10 초) 동안 ASP.NET 출력 캐시를 사용하여이 응답을 캐시하고 싶습니다.HTTP 503 상태 코드 용 ASP.NET MVC OutputCache
내가 직면 한 문제는 상태 코드가 HTTP 200이지만 HTTP 503이 아닌 경우 ASP.NET MVC 5.0의 OutputCache 필터가 작동한다는 것입니다. 다음은 응용 프로그램에서 사용중인 MVC 동작의 샘플 코드입니다.
HTTP 200 이외의 HTTP 상태 코드는 캐시 할 수 있습니까? Ouput Cache 또는 IIS 설정을 통해 HTTP 503 응답을 캐시하는 다른 메커니즘이 있습니까?
[OutputCache(Duration = 10, VaryByParam = "*")]
public ActionResult GetServerStatus(string serverId)
{
var serverStatus = .... //JSON object
if(serverStatus.IsAvailable)
{
this.Response.StatusCode = (int)HttpStatusCode.OK;
}
else
{
this.Response.StatusCode = (int)HttpStatusCode.ServiceUnavailable;
}
return Json(serverStatus);
}