我正在尝试为网站创建一个 Temporarily Down for Site Maintenance
保留页面。该网站是一个 asp.net 4 webform
网站。
我创建了一个 offline.aspx
页面,当我关闭网站时,我会将所有流量重定向到该页面。
在此页面上,我想发送一个503 响应代码 并指定网站恢复在线的日期 - 使用来自 google here 的信息
我希望我可以在我的 PageLoad
中做一些事情,比如:
Response.ClearHeaders();
Response.ClearContent();
Response.StatusCode = 503;
Response.StatusDescription = "HTTP/1.1 503 Service Temporarily Unavailable";
Response.Flush();
throw new HttpException(503, "Temporarily Down For Maintenance.");
这给了我正确的状态,但页面上出现以下错误:
XML Parsing Error: not well-formed
Location: http://xyz/offline.aspx
Line Number 3, Column 2:</pre></table></table></table></table></table></font></font></font></font></font></i></i></i></i></i></b></b></b></b></b></u></u></u></u></u><p> </p><hr>
我想我错过了一些简单的东西,我做错了什么?
此外,我是否会使用 Response.AddHeader
在 503
之后添加重试 header ?
编辑:我在删除东西时过于热心了。清理所有删除内容并清除内容可以使以下内容起作用:
Response.StatusCode = 503;
Response.StatusDescription = "HTTP/1.1 503 Service Temporarily Unavailable";
Response.AddHeader("Retry-After", "Sat, 12 Jan 2013 23:00:00 GMT");
Response.Flush();
我相信这实际上是网络服务器或 ASP.Net DLL 的功能。如果某些数据已经流式传输到客户端,如果没有这些随机结束标记,错误消息将不会正确显示。
我是一名优秀的程序员,十分优秀!