我试图在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和我的本地盒子上工作正常,但模拟器和云都没有喜悦。
任何帮助,将不胜感激。