[英]Using application settings across assemblies
我正在編寫一個包含在另一個程序集中的插件系統的應用程序。
問題是插件系統需要從主應用程序中獲取應用程序設置(例如用於查找插件的目錄)。
這是如何完成的,還是我會以錯誤的方式進行操作?
編輯:鼓勵我添加一些有關插件系統如何工作的詳細信息。 我還沒有完全解決這個問題,而我才剛剛開始實施它,但是基本上我看了這篇文章 。
讓主應用程序從應用程序設置中獲取插件目錄,並將其推送到插件系統中。
也許您可以在創建插件時將配置作為參數插入?
//Get the configuration for the current appDomain
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//Create the plugin, and pass in the configuration
IPlugin myPlugin = new AlfaPlugin(config);
您可能需要對System.Configuration程序集的引用。
您可以編寫一個自定義配置部分,該部分允許您編寫表示XML模式的對象。 建立后,您只需索要該部分的當前實例。
您可以通過派生System.Configuration.ConfigurationSection
並編寫表示屬性和子元素的屬性來實現。 有關更多信息,請參見如何:使用ConfigurationSection創建自定義配置部分 。
運行該庫的AppDomain是當前配置范圍。 System.Configuration
命名空間將所有配置文件相關聯,並提供一個統一的視圖。
要檢索節的當前實例,可以使用ConfigurationManager.GetSection(...)
。
您的插件應接受此部分的實例,而不是常規的Configuration
對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.