Я пытаюсь выполнить перенаправление в обработчике Application_Error в Global.asax. Ничего особенного.
private void Application_Error(object sender, EventArgs e)
{
// ...snip...
Server.Transfer(somePath, false);
// ...snip...
}
Это прекрасно работает при полном доверии, но мне нужно, чтобы оно работало при среднем доверии. Код, над которым я сейчас работаю, должен нормально функционировать в среде общего хостинга (к сожалению, я не могу контролировать это требование).
Однако, когда я настраиваю сайт следующим образом в нашей среде разработки (XP Pro / 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).
Ценю любую информацию, которую вы можете предоставить. Я погуглил это на $$, и без радости.
Спасибо!