在xml中创建自己的设置

bal*_*dre 4 c# asp.net configuration-files

我在一个ASP.NET项目中,我需要为要安装网站的管理员提供几个参数,例如:

AllowUserToChangePanelLayout
AllowUserToDeleteCompany
Run Code Online (Sandbox Code Playgroud)

等等...

我的问题是,将这个添加到web.config文件中,使用我自己的configSession或添加为配置文件varibles会是一件好事吗?或者我应该为此创建一个XML文件?

你做了什么,有什么缺点和好处?

我最初考虑过web.config,但后来才意识到我应该搞乱网站配置和我自己的网络应用程序配置,我应该创建一个不同的文件,我读这篇文章,现在我在这个地方...我应该这样做还是那样?

con*_*tor 12

我通常使用设置 - 通过项目属性 - 设置可用.这些可以编辑并保存在代码中,我写一个表单/网页来编辑它们.

如果要使用XML配置,则有一个名为file的属性可读取外部文件.您可以拥有web.config文件和someothername.config文件.someothername.config将具有以下设置:

<appSettings>
    <add key="ConnString" value="my conn string" />
    <add key="MaxUsers" value="50" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

而web.config会有

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings file="ExternalWeb.config">
        <add key="MyKey" value="MyValue" />
    </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

有关我偷走的示例,请参阅DevX.

  • 请注意,外部文件已缓存.如果对其进行更改,则必须重新启动应用程序才能重新加载设置. (3认同)
  • 只有appSettings具有`file`属性.其他一些部分有`configSource`属性.这不是必要条件.此外,`file`属性具有不同的语义.如果文件不存在,则不是错误 - 设置不会生效.`appSettings`的内容是`user.config`. (2认同)