0

中程度の信頼で実行されている MVC3 アプリの web.config で appSetting を更新しようとしています。電話をかけようとするとすぐに失敗しますか?

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

他のバリエーションを試してみましたが、すべてこのエラーがスローされるようです。

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

中程度の信頼でそれを行う方法を知っている人はいますか? どんな助けでも大歓迎です。

4

2 に答える 2

2

簡単な答え: ミディアム トラストでは不可能です。

長い答え: web.config は実際には、マシン レベルの web.configs から一連の設定を継承します。その結果、特定の .config ファイルを開いて Configuration および AppSettings クラスにアクセスすると、それは読み取り専用になりますが (システムで許可されているため)、クラスが持っているように、書き込みを試みると FileIO パーミッションがスローされます。新しい設定を書き込む前に、正しい構成 (フォルダー、継承、またはマシン レベル) に書き込む権限があるコール スタックのどこかを決定するため (継承階層で設定が設定された場所によって異なります)。注: これは .NET4 で修正される予定でした... Microsoft Connect サイトのどこかでリンクを見たのを覚えています。

概要: XML/XSLT 解析を使用します。

于 2012-09-12T18:23:28.670 に答える
0

中程度の信頼でそれを行う方法は次のとおりです

http://www.mvcforum.com/blog/2012/9/updating-appsettings-in-the-webconfig-in-medium-trust/

于 2012-09-13T04:26:12.273 に答える