我正在研究一個將嚴重依賴配置的Web應用程序。配置也將由另一個進程或人員編寫。我期望得到有關如何實施此案例的.net 3.5中的最佳做法的回覆。我曾使用企業庫應用程序塊的早期版本的配置部分。我真的很喜歡與它合作,但從我聽到它在當前版本中停止。因此,這個問題......asp.net應用程序 - 配置實施
需要能夠序列化集合,拿起文件寫入事件來重新加載配置的新實例到內存中。
謝謝。
我正在研究一個將嚴重依賴配置的Web應用程序。配置也將由另一個進程或人員編寫。我期望得到有關如何實施此案例的.net 3.5中的最佳做法的回覆。我曾使用企業庫應用程序塊的早期版本的配置部分。我真的很喜歡與它合作,但從我聽到它在當前版本中停止。因此,這個問題......asp.net應用程序 - 配置實施
需要能夠序列化集合,拿起文件寫入事件來重新加載配置的新實例到內存中。
謝謝。
你看過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>
是的,我看着它 - 這是相當簡單寫自己設置的web.config。整個問題是我想將我的設置保存在單獨的獨立xml文件中。每個自定義配置部分一個xml文件。我收集到,我將不得不編寫我自己的提供商...不要讓我的應用程序每次有變化時都要實時加載。 – dexter 2010-10-13 01:19:57
我已經更新了我的答案,包括如何將您的配置分爲單獨的文件。我不知道如何解決重啓場景,這是ASP.NET應用程序的一個設計特性。 – 2010-10-13 08:58:54
我不太確定,但也許可以添加FileSystemWatcher來監視Application Start上文件的更改。 – Elph 2010-10-13 09:01:28