I suggest you ...

Add better support for ConfigurationManager's ability to modify web.config

WebConfigurationManager (and ConfigurationManager) throw exceptions when trying to load a web.config in anything less than High Trust environments. The sole reason for this being that the local web.config is merged all the way down from the machine-level web.configs, via any parent applications in IIS.

Better idea: put all inherited configs into a read-only dictionary at runtime (rather than putting the ConfigurationManager settings into a dictionary, which is what actually happens, therefore preventing writing back of a .config file to disk after modifying a setting). When the web.config is loaded at runtime, take the inherited settings dictionaries, apply them to the local web.config settings. Then, in the setters of the strongly-typed classes, check whether the setting is local or not. If yes, write to the file and allow save, if no, check if over-rides are allowed for the setting. If yes, add the new setting and save. If no, exception out.

4 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Benjamin Howarth shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    0 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      Submitting...

      Feedback and Knowledge Base