我已将ASP.Net站点从一个UNC路径迁移到另一个路径,但子应用程序正在授予我AspNetHostingPermission

我已将ASP.Net站点从一个UNC路径迁移到另一个路径,但子应用程序正在授予我AspNetHostingPermission,asp.net,code-access-security,full-trust,Asp.net,Code Access Security,Full Trust,我已经将我的ASP.Net网站从一台服务器上的UNC路径迁移到一台新的、更大的服务器上的新UNC路径 在和之后,网站工作正常,没有出现奇怪的“PolicyException:无法获取所需权限”CAS错误 不过,我的问题是,有一个子目录被配置为自己的web应用程序。该应用程序给了我一个死亡错误的黄色屏幕: System.Security.SecurityException:请求“System.Web.AspNetHostingPermission,System,Version=2.0.0.0,Cu

我已经将我的ASP.Net网站从一台服务器上的UNC路径迁移到一台新的、更大的服务器上的新UNC路径

在和之后,网站工作正常,没有出现奇怪的“PolicyException:无法获取所需权限”CAS错误

不过,我的问题是,有一个子目录被配置为自己的web应用程序。该应用程序给了我一个死亡错误的黄色屏幕:

System.Security.SecurityException:请求“System.Web.AspNetHostingPermission,System,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”类型的权限失败

现在我知道该网站正在完全信任的状态下运行,那么为什么这个subdir应用程序不工作呢?

(在询问的同时回答我自己的问题)

虽然许多设置是从父站点继承的,但以下内容不一定是必需的(它们在子目录应用程序的“高级设置”对话框中可用):

  • 应用程序池
  • 物理路径
  • 物理路径凭据
  • 物理路径凭据登录类型
  • 启用的协议

查看应用程序的高级设置,我可以看到物理路径仍然是指旧服务器的UNC路径。更改了CAS策略后,这将不再有效。更正此处的UNC路径使问题得以解决

加分 另一个指示标志是应用程序日志中的警告级别条目:

事件代码:3006
事件消息:发生分析器错误。

事件详细信息代码:0

应用程序信息:

应用程序域:/LM/W3SVC/3/ROOT/[redact]
信任级别:完全
应用程序虚拟路径:[已编辑]
应用程序路径:[oldUNC路径]
计算机名称:[已编辑]

流程信息:

进程ID:4592
进程名称:w3wp.exe
账户名称:[修订]

异常信息:

异常类型:HttpException
异常消息:请求“System.Web.AspNetHostingPermission,System,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”类型的权限失败