我已經在IIS 6.0上運行同一個webconfig自定義錯誤部分的ASP.NET MVC 4.0 Web應用程序時不工作看起來像這樣的頁面:MVC的customErrors設置redirectMode =「ResponseRewrite」
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<System.Web.Mvc.HandleErrorInfo>" %>
<%@ Import Namespace="System.Security.Cryptography" %>
<%@ Import Namespace="System.Threading" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Error
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Error Processing your request.</h2>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="Scripts" runat="server">
<script runat="server">
void Page_Load() {
byte[] delay = new byte[1];
RandomNumberGenerator prng = new RNGCryptoServiceProvider();
prng.GetBytes(delay);
Thread.Sleep((int)delay[0]);
IDisposable disposable = prng as IDisposable;
if (disposable != null) { disposable.Dispose(); }
}
</script>
</asp:Content>
每當我包括上述「redirectMode =」 ResponseRewrite「」在webconfig自定義錯誤部分重定向到我的自定義錯誤頁不再工作,我得到的頁面錯誤「服務器「/」應用程序中的錯誤 - 找不到資源「。實際上,控制器操作也被忽略。當我採取這種設置時,我們的一切都按照應有的方式工作我正在嘗試將Scott Gu的解決方法整合到此處列出的Asp.net安全漏洞中:http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx
任何幫助將不勝感激。 謝謝, 比利
謝謝斯科特。這讓我朝着正確的方向前進。我上面顯示的其他一些問題是它不喜歡Inherits =「System.Web.Mvc.ViewPage」。將其更改爲Inherits =「System.Web.Mvc.ViewPage。另外,我所引用的母版頁有一些問題被稱爲這樣,因爲一些對象沒有被正確填充,所以我使用了舊母版頁的縮小版本對於錯誤頁面。無論如何,再次感謝! –
2010-09-23 15:46:37
對於downvoter:這個答案在當時是正確的。ASP.NET中有一個錯誤需要一個空的塊。請在這個響應之前考慮這個問題。 。在這裏查看bug詳細信息:http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx –
2011-05-03 01:14:29