我的Web应用程序由几个Visual Studio项目组成。它目前在高信任级别(<trust level = "High" />
)下运行良好。当我尝试在中等信任级别下运行它时,我收到此错误:
安全例外
描述:应用程序尝试执行安全策略不允许的操作。要授予此应用程序所需的权限,请与您的系统管理员联系或在配置文件中更改应用程序的信任级别。
异常详情:System.Security.Security
例外:请求失败。来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
[SecurityException: Request failed.] System.RuntimeTypeHandle._GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark stackMark, Boolean loadTypeFromPartialName) +0 System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark stackMark) +64 System.RuntimeType.PrivateGetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark stackMark) +58 System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +65 System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +342 System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +52
版本信息:Microsoft .NET Framework版本:2.0.50727.4952; ASP.NET版本:2.0.50727.4955
识别问题并将应用程序转换为在中等信任下正常运行的最佳方法是什么?
答案 0 :(得分:1)
看起来您正在进行一些动态配置解决方案 - 您是否在web.config中定义了一些自定义配置组 - 反射是在中等信任环境中首先关闭的事情之一,并且大多数主人会把它关掉。
如果是这样,我建议在可能的情况下继续创建一个明确的configuration section处理程序。