【问题标题】:Unable To Edit AppSetting In Web.Config In Medium Trust?无法在中等信任下编辑 Web.Config 中的 AppSetting?
【发布时间】:2012-09-12 17:49:50
【问题描述】:

我正在尝试在以中等信任度运行的 MVC3 应用程序中更新 web.config 中的 appSetting。我一打电话就失败了?

var config = WebConfigurationManager.OpenWebConfiguration("~");

尝试了其他变体,但它们似乎都抛出了这个错误。

System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089′ failed.

有人知道如何在中等信任度下做到这一点吗?任何帮助将不胜感激。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 web-config medium-trust


    【解决方案1】:

    简短的回答:在中等信任中是不可能的。

    长答案:web.config 实际上从机器级 web.configs 继承了一堆设置。因此,当您通过打开给定的 .config 文件访问 Configuration 和 AppSettings 类时,它是只读的(因为这是系统允许您执行的操作),但在尝试写入时会抛出 FileIO 权限,因为这些类有在写入新设置之前确定调用堆栈上的某个位置,他们有权写入正确的配置(文件夹、继承或机器级别)(取决于 在哪里在继承层次结构)。 注:这本来是要在 .NET4 中修复的……我记得在 Microsoft Connect 网站上的某个地方看到过一个关于它的链接。

    总结:使用 XML/XSLT 解析。

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 1970-01-01
      • 2010-09-05
      • 2012-12-12
      • 2014-02-12
      • 2013-12-06
      • 2012-10-10
      • 2018-02-24
      • 1970-01-01
      • 2020-07-03
      相关资源
      最近更新 更多