尝试在Godaddy上使用Managed Fusion Rewriter时出现System.Web.AspNetHostingPermission SecurityException

时间:2009-02-07 11:42:54

标签: asp.net iis-7 codeplex

我想知道是否有人可以帮我解决一个问题,我正在尝试让我的网站在Goddaddy上运行。 我正在尝试使用ManagedFusion重写器(http://www.codeplex.com/urlrewriter/)进行无扩展的URL重写工作。不幸的是,我收到以下错误:

  '/'应用程序中的服务器错误。   安全例外   说明:应用程序尝试执行安全策略不允许的操作。要授予此应用程序所需的权限,请与系统管理员联系或在配置文件中更改应用程序的信任级别。

     

异常详细信息:System.Security.SecurityException:请求类型为'System.Web.AspNetHostingPermission,System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败。

来源错误:

  

在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

堆栈追踪:

[SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessPermission.Demand() +59
System.Web.Hosting.HostingEnvironment.get_ApplicationID() +61
IIS7Injector.TraceManager.TraceEvent(TraceEventType eventType, String message) +62
IIS7Injector.ConfigManager.IsSkippedUrl(HttpRequest request, String ContentType) +38
IIS7Injector.InjectedContentStream.Write(Byte[] buffer, Int32 offset, Int32 count) +153
ManagedFusion.Rewriter.FormActionFilter.Write(Byte[] buffer, Int32 offset, Int32 count) +485
System.Web.HttpWriter.FilterIntegrated(Boolean finalFiltering, IIS7WorkerRequest wr) +265
System.Web.HttpResponse.FilterOutput() +80
       System.Web.CallFilterExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +54
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64

版本信息:Microsoft .NET Framework版本:2.0.50727.1434; ASP.NET版本:2.0.50727.1434

我在集成模式下使用IIS 7。我按照自述文件中的说明修改了我的web.config文件: http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx?ReleaseId=22618

非常感谢。

7 个答案:

答案 0 :(得分:38)

我在新安装上遇到了同样的异常,将App池标识更改为NetworkService / aspnet修复了它。

此外,在应用程序池上启用“加载用户配置文件”也有效。

答案 1 :(得分:11)

尝试以下方法:

应用程序池 - >高级设置 - >加载用户个人资料=真

答案 2 :(得分:5)

答案 3 :(得分:1)

这个问题的一个原因是,当您通过使用服务器从Internet下载应用程序完成了在服务器上发布应用程序的奇怪之处。然后,这些文件将被标记为来自Internet,然后安全设置会阻止它们运行。

"从互联网上下载" mark作为NTFS备用数据流存储在文件系统中。使用" Streams"用于显示和删除标志的工具: http://technet.microsoft.com/en-us/sysinternals/bb897440.aspx

然后重新启动应用程序池。

答案 4 :(得分:0)

这实际上是GoDaddy的中型信任环境的一个已知问题。然而,随着URL Rewriter 3.0的最新版本,所有这些问题现在都消失了。如果您有任何问题,请获取最新版本并告诉我。

答案 5 :(得分:0)

我和GoDaddy有类似的问题。即使它最初看起来并不相关,因为它不在堆栈跟踪中(并且可能因为您使用的是第三方代码而不适用于您),因此删除Response.End()调用解决了我的问题。

答案 6 :(得分:0)

我遇到了这个问题,因为工作中有网络驱动器。当我将项目移动到桌面时,它又开始工作了。