中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET應用加載容器Glue4Net

發布時間:2020-07-21 19:38:40 來源:網絡 閱讀:435 作者:ikende 欄目:編程語言
在寫ASP.NET的應用的時候我們只需要把寫好的WEB程序放到IIS即可,在更新的時候只需要把文件復制過去IIS就可以自動重新加載相關WEB程序。如果是寫一些win服務程序或一個服務端應用程序就沒有這么幸運,在更新的時候由于文件被占用導致在更新前不得不把相關服務停止;這樣導致程序更新非常麻煩,如果程序只有一兩個還可以但是服務程序比較多的情況那則是相應麻煩的事情,為了解決這一系列問題所以實現Glue4Net這樣一個應用加載組件。
.NET應用加載容器Glue4Net

功能

組件的主要功能是構建一個新的AppDomain加載指定目錄的程序集具體功能如下:

  • 自動加載目錄的.NET程序集

  • 自動加載目錄下的代碼文件并添加到應用域中

  • 自定義監控文件變更,變更重新加載相應的服務

  • 自定義應用模塊,在加載的自動運行。

使用

組件的使用非常簡單,只需要構建DomainAdapter并指定相關參數即可:

DomainAdapter da = new DomainAdapter(@"C:\Test",
    "TEST", new DomainArgs { Compiler=true, UpdateWatch= true, WatchFilter=new string[]{"*.cs"} });
da.Log = new ConsoleEventLogImpl();
da.Load();

以是上是從C:\Test目錄上構建一個應用域,并指定相應的加載參數;具體參數描述是編譯目錄下的cs和vb文件,啟用對*.cs的文件進行監控,當發現有文件變更的情況重新加載應用。

應用構建規則

由于應用是通過組件加載,所以應用的編寫需要遵循一些規則,應用目錄下必須存在Glue4Net.dll和Log4net.dll.組件在加載應用后會自動運行應用中實現IAppModule的對象。對于應用的編寫可以編譯成DLL或直接在應用目錄下存放相應的代碼文件即可。

using System;  
public class TestModule : Glue4Net.IAppModule
    {
        public string Name
        {
            get {return "TEST"; }
        }
        public Glue4Net.IEventLog Log
        {
            get;
            set;
        }
        public void Load()
        {
            Log.Info("Module loaded!",DateTime.Now);
        int a =0;
        Log.Info(a.ToString());
        }
        public void UnLoad()
        {
                                       
        }
    }

測試

.NET應用加載容器Glue4Net


源代碼

https://github.com/IKende/IKendeLib/tree/master/Glue4Net


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

晋中市| 呼图壁县| 田阳县| 雅江县| 隆昌县| 沁阳市| 万荣县| 潼关县| 金湖县| 屏山县| 宣城市| 神木县| 绥化市| 耒阳市| 阳城县| 岳西县| 米脂县| 平和县| 昌江| 舞阳县| 富蕴县| 清原| 会东县| 抚顺县| 青龙| 开鲁县| 高要市| 南澳县| 綦江县| 诏安县| 颍上县| 马公市| 花莲县| 常德市| 温州市| 崇仁县| 司法| 安庆市| 铁力市| 桂阳县| 宣威市|