我試圖在MVC 3上建立一個自定義維護頁面,但是特別在Azure上。基本上要保持搜索引擎友好,我需要返回一個503(服務不可用)。我所有的其他自定義錯誤頁在Azure中(如404)工作按照通常如何創建返回503的Azure自定義維護頁面?
<customErrors mode="On">
<error statusCode="404" redirect="404.htm"/>
<error statusCode="503" redirect="503.htm"/>
</customErrors>
404級的作品,但在503後面沒有,我只是得到一個醜陋的服務不可用頁面。我有500錯誤通過error.cshtml和標準HandleErrorAttribute正常工作。
我甚至嘗試使用以下
public class SiteDownForTestingResult : ActionResult
{
public SiteDownForTestingResult() : base()
{
}
public override void ExecuteResult(ControllerContext context)
{
var path = System.Web.Hosting.HostingEnvironment.MapPath("~/app_testing.htm");
var response = context.HttpContext.Response;
response.Clear();
response.StatusCode = (int)HttpStatusCode.ServiceUnavailable;
response.StatusDescription = "Service Unavailable.";
response.WriteFile(path);
response.End();
}
}
被app_testing從一個ActionFilter回我自己的ActionResult是我的自定義頁面,然後從OnActionExecuting設置filterContext.Result = new SiteDownForTestingResult();
一個ActionFilter,仍然我被招呼明確503'服務不可用'頁面
這是關於Azure上的application.config鎖定某些東西或其他我不知道的東西。這在IIS7和我的本地盒子上工作正常,但模擬器和雲都沒有喜悅。
任何幫助,將不勝感激。