我正在嘗試在Global.asax中的Application_Error處理程序中執行重定向。沒有什麼奇特的。從Medium Trust中的Global.asax重定向
private void Application_Error(object sender, EventArgs e)
{
// ...snip...
Server.Transfer(somePath, false);
// ...snip...
}
這項工作很好,完全信任,但我需要得到它在中等信任下工作。我在這裏工作的代碼需要在共享主機環境中正常運行(不幸的是,我無法控制這個需求)。
然而,當我配置的網站在我們的開發環境(XP專業版/ IIS 5.1)以下爲測試目的:
<system.web>
<trust level="Medium"/>
</system.web>
它失敗,出現以下錯誤:
Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.** at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) at System.Security.CodeAccessPermission.Demand() at System.Web.HttpWorkerRequest.SendResponseFromMemory(IntPtr data, Int32 length) at System.Web.HttpWorkerRequest.SendResponseFromMemory(IntPtr data, Int32 length, Boolean isBufferFromUnmanagedPool) at System.Web.HttpResponseUnmanagedBufferElement. System.Web.IHttpResponseElement.Send(HttpWorkerRequest wr) at System.Web.HttpWriter.Send(HttpWorkerRequest wr) at System.Web.HttpResponse.Flush(Boolean finalFlush) at System.Web.HttpResponse.Flush() at System.Web.HttpResponse.End() at System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm)
一幾個其他注意事項:
- 無論是從Global.asax還是從HttpModule發生這種情況。
- 這也發生在Response.Redirect(somePath)。
感謝您提供的任何見解。我已經在此搜索了一個$$,沒有喜悅。
謝謝!