質問

アプリケーションにカスタムConfigurationSectionがあります: ジェネラコディセタグプレ

私のweb.configで ジェネラコディセタグプレ

セクションを読むことは問題なく機能します。私が抱えている問題は、セクションを読んだときに ジェネラコディセタグプレ

次に、Serverプロパティの変更に進みます: ジェネラコディセタグプレ

これは、web.configファイルの「Server」プロパティを変更しません。

注:これは中程度の信頼で機能する必要があるため、正常に機能するWebConfigurationManager.OpenWebConfigurationを使用できません。自分自身を保存するようにConfigSectionに指示する明示的な方法はありますか?

役に立ちましたか?

解決

簡単な答え-いいえ。.NETチームは(伝えられるところでは)v4でこれを修正することを意図していましたが、それは起こりませんでした。

その理由は、WebConfigurationManager.GetSectionを使用すると、ネストされた読み取り専用のNameValueCollectionが返されるためです。これらのコードは、値を変更しても保持されません。正しく確認したように、WebConfigurationManager.OpenWebConfigurationを使用することが、構成への読み取り/書き込みアクセスを取得する唯一の方法です-しかし、FileIOPermissionが継承されたすべての構成をweb.configにロードしようとすると、OpenWebConfiguration例外がスローされます-これには、C:\WINDOWS\Microsoft.NET\Frameworkにマシンレベルのweb.configファイルとmachine.configファイルが含まれていますが、これらは明示的にMediumTrustの範囲外です。

長い答え-XDocument / XmlDocumentとXPathを使用して構成値を取得/設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top