2010-10-11 135 views
0

我正在研究一个将严重依赖配置的Web应用程序。配置也将由另一个进程或人员编写。我期望得到有关如何实施此案例的.net 3.5中的最佳做法的回复。我曾使用企业库应用程序块的早期版本的配置部分。我真的很喜欢与它合作,但从我听到它在当前版本中停止。因此,这个问题......asp.net应用程序 - 配置实施

需要能够序列化集合,拿起文件写入事件来重新加载配置的新实例到内存中。

谢谢。

回答

0

你看过System.Configuration命名空间吗?创建ConfigurationSection,ConfigurationElement和ConfigurationElementCollection实例是相对容易的。罗拉的4个人有关于它的blogged,并且有很多教程使用整个“谷歌”的东西。

一两件事这种方法需要注意的是,当您更改到一个web.config,应用程序自动回收为您服务。#

UPDATE 可实际上是不同的,你配置成单独的.config文件。您仍然需要在主Web.config文件中声明<section><sectionGroup>元素,但从ConfigurationSection继承的任何配置节都支持configSource属性。例如: -

<?xml version="1.0" encoding="UTF-8" ?> 
<configuration> 
    <configSections> 
    <section name="myConfigSection" type="..." /> 
    </configSections> 

    <myConfigSection configSource="myConfigSection.config" /> 
</configuration> 

然后你就可以添加一个单独的文件myConfigSection.config

<?xml version="1.0" encoding="UTF-8" ?> 
<myConfigSection> 
    <someElement /> 
</myConfigSection> 
+0

是的,我看着它 - 这是相当简单写自己设置的web.config。整个问题是我想将我的设置保存在单独的独立xml文件中。每个自定义配置部分一个xml文件。我收集到,我将不得不编写我自己的提供商...不要让我的应用程序每次有变化时都要实时加载。 – dexter 2010-10-13 01:19:57

+0

我已经更新了我的答案,包括如何将您的配置分为单独的文件。我不知道如何解决重启场景,这是ASP.NET应用程序的一个设计特性。 – 2010-10-13 08:58:54

+0

我不太确定,但也许可以添加FileSystemWatcher来监视Application Start上文件的更改。 – Elph 2010-10-13 09:01:28