您好,登錄后才能下訂單哦!
Glue4Net是一款.NET平臺(tái)下的應(yīng)用部署托管服務(wù),可以配置N個(gè)不同目錄下的.NET應(yīng)用并加載到不同的應(yīng)用域中,并提供自動(dòng)識(shí)別應(yīng)用文件的變更來重新加載應(yīng)用。通過Glue4Net應(yīng)用加載容器可以大大節(jié)省.NET應(yīng)用的部署和更新維護(hù)工作。
自動(dòng)加載目錄的.NET程序.
自動(dòng)加載目錄下的代碼文件并添加到應(yīng)用域中.
提供自成定義模塊定義,加載應(yīng)用的時(shí)候執(zhí)行.
自定義監(jiān)控文件變更,變更重新加載相應(yīng)的服務(wù).
容器提供命令行和windows服務(wù)模式,可以通過install.bat注冊到windwos服務(wù)中運(yùn)行,容器可以通過以下連接下載
http://www.ikende.com/files/file/Glue4net.rar
應(yīng)用可以是編寫好的DLL或直接相應(yīng)的代碼文件(.cs或.vb)可以存放到任意容器可以訪問的目錄下.通過編輯domains.config文件把應(yīng)用添加到容器中(修改文件后并不需要重啟Glue4Net,容器會(huì)自動(dòng)加載).
<domains> <add name="test" compiler="true" path="test" updateWatch="true" watchFilter="*.cs|*.config"/> </domains>只需要在domains配置節(jié)添加相關(guān)應(yīng)用的信息.
name
應(yīng)用名稱,在容器中是唯一path
應(yīng)用所在的目錄,如果不是全路徑的情況則會(huì)從當(dāng)前容器目錄下查找相應(yīng)的子目錄compiler
是否開啟編譯源代碼功能updateWatch
是否開啟文件更新監(jiān)控,如果發(fā)現(xiàn)文件變更則重啟應(yīng)用watchFilter
監(jiān)控的文件類型
容器只會(huì)根據(jù)配置信息把應(yīng)用加載到相應(yīng)的域中,是不會(huì)執(zhí)行任何相關(guān)代碼.如果需要容器加載應(yīng)用后執(zhí)行某些功能,則在編寫應(yīng)用的時(shí)候需要有類實(shí)現(xiàn)IAppModule接口.容器會(huì)遍歷所有這些接口的實(shí)現(xiàn)類實(shí)例化并執(zhí)行.
public interface IAppModule { string Name { get; } IEventLog Log { get; set; } void Load(); void UnLoad(); }
在編寫應(yīng)用的時(shí)候很多信息都依賴于配置文件,那當(dāng)容器加載應(yīng)用后,應(yīng)用相應(yīng)的配置文件是如何處理呢?只需要把配置信息存放到應(yīng)用目錄下的app.config即可.
如添加一個(gè)AppSetting
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="username" value="bbq"/> </appSettings> </configuration>代碼里直接通過ConfigurationSettings訪問
using System; public class TestModule : Glue4Net.IAppModule { public string Name { get {return "TEST"; } } public Glue4Net.IEventLog Log { get; set; } public void Load() { string name = System.Configuration.ConfigurationSettings.AppSettings["username"]; Log.Info("Test Module Load !"); Log.Info("UserName:{0}", name); } public void UnLoad() { Log.Info("Test Module UnLoad!"); }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。