扩展Asp.Net需要帮助
发布时间:2020-12-16 09:29:10 所属栏目:asp.Net 来源:网络整理
导读:正如大多数人所知,如果我在asp.net应用程序的根目录中删除名为app_offline.htm的文件,它将使应用程序脱机 as detailed here. 您还会知道,虽然这很好,但IIS实际上会在此过程中返回404代码,而Microsoft不会对此进行任何操作as mentioned here. 现在,由于Asp.Ne
正如大多数人所知,如果我在asp.net应用程序的根目录中删除名为app_offline.htm的文件,它将使应用程序脱机
as detailed here.
您还会知道,虽然这很好,但IIS实际上会在此过程中返回404代码,而Microsoft不会对此进行任何操作as mentioned here. 现在,由于Asp.Net一般是如此可扩展,我认为不应该有一种方法来过度使用这个状态代码来返回503吗?问题是,我不知道从哪里开始寻求改变. 救命! 解决方法
app_offline.htm的处理在ASP.NET管道中是硬编码的,无法修改:请参阅HttpRuntime.cs中的CheckApplicationEnabled(),如果认为应用程序处于脱机状态,则会抛出非常不可配置的404错误.
但是,creating your own HTTP module做类似的事情当然是微不足道的 – 在这种情况下OnBeginRequest处理程序可能看起来如下(显示了HttpHandler的实现,但在HttpModule中的想法完全相同): Public Sub ProcessRequest(ByVal ctx As System.Web.HttpContext) Implements IHttpHandler.ProcessRequest If IO.File.Exists(ctx.Server.MapPath("/app_unavailable.htm")) Then ctx.Response.Status = "503 Unavailable (in Maintenance Mode)" ctx.Response.Write(String.Format("<html><h1>{0}</h1></html>",ctx.Response.Status)) ctx.Response.End() End If End Sub 当然,这只是一个起点:通过使返回的HTML更友好一点,您也可以向用户显示一个不错的“我们会马上回来”页面. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET Core:部署项目到Ubuntu Server
- asp.net core中使用log4net
- asp.net – 存储过程与脚手架
- asp.net – Internet Explorer 8超时太快页面POSTs
- asp.net-mvc – ASP.NET MVC2母版页 – 服务器端脚本无法渲
- asp.net – 有一个ClientScriptManager.RegisterClientScri
- ASP.Net添加控件“无法获取[控件]的内部内容,因为内容不是文
- asp.net – Web API IIS要求
- asp.net-mvc – 路由:如何在url中隐藏动作名称?
- asp.net-mvc-5 – Windows身份验证在ASP.NET MVC 5网络应用
推荐文章
站长推荐
- asp.net-mvc – MVC店面 – 科纳 – 他们在哪里?
- ASP.NET MVC:Application_Start和Url.Action
- T-SQL Enhancement in SQL Server 2005[下篇]
- asp.net – 进程服务应用程序池“经典.NET AppPo
- asp.net-mvc – ASP.NET MVC 3在文章视图中添加注
- asp.net – 浏览器缓存(.js文件)存在多长时间
- asp.net – 避免在web.config中提供服务器连接字
- asp.net-mvc-3 – 如何在Razor视图引擎中注册程序
- asp.net-mvc – PartialViews和验证(回发)
- asp.net-mvc – IIS不允许MVC应用程序控制Azure上
热点阅读