Rin*_*dar 5 .net c# xml asp.net-mvc
我有一个ASP.NET MVC站点,它由一个解决方案中的3个项目组成:
DomainModel(类库 - 包含LINQ Repo)
DomainServices(类库 - 包含业务逻辑)
WebUI(ASP.NET MVC站点)
我需要一个地方来存储我们网站的一系列设置,可以通过XML进行配置.
这应该进入哪个项目?有没有人有一个例子说明他们如何加载,然后在这些不同的项目中访问他们的设置?
我是否在包含所有设置属性的某个C#类的构造函数中加载XML文件一次?
有人可以给我一些关于在XML文件中存储设置的示例和技巧,以便在多项目解决方案中使用吗?
设置通常存储在web.config中.所有程序集都可以访问这些设置.
ConfigurationManager.AppSettings["key"]
Run Code Online (Sandbox Code Playgroud)
您需要添加对System.configuration.dll的引用
而不是使用AppSettings,它只是键值对的集合,而是考虑使用ConfigurationSection或IConfigurationSectionHandler定义自己的配置结构
这样你就可以获得包装类的所有安全性,并且它不会使你的AppSettings混乱(并且在某个地方很好地定义供你使用).
更好的是,定义自己的XML模式,并使用XmlSerialization/Deserialization将此文件存储在web.config之外,监听它的更改(将其绑定到缓存,无论如何).
如果以这种方式执行此操作,则无需修改web.config以获取更改,因此无需重新启动Web应用程序,从而在此过程中丢失会话/缓存.
不是写得好的无状态Web应用程序应该关心丢失会话/缓存 - 但总有人...... :)