2010-10-11 216 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