.NET应用加载容器Glue4Net

发布时间:2020-07-21 19:38:40 作者:ikende
来源:网络 阅读:436
在写ASP.NET的应用的时候我们只需要把写好的WEB程序放到IIS即可,在更新的时候只需要把文件复制过去IIS就可以自动重新加载相关WEB程序。如果是写一些win服务程序或一个服务端应用程序就没有这么幸运,在更新的时候由于文件被占用导致在更新前不得不把相关服务停止;这样导致程序更新非常麻烦,如果程序只有一两个还可以但是服务程序比较多的情况那则是相应麻烦的事情,为了解决这一系列问题所以实现Glue4Net这样一个应用加载组件。
.NET应用加载容器Glue4Net

功能

组件的主要功能是构建一个新的AppDomain加载指定目录的程序集具体功能如下:

使用

组件的使用非常简单,只需要构建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


推荐阅读:
  1. 什么是容器?容器的应用场景有哪些?
  2. 如何快速部署容器化应用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

appdomain 加载更新

上一篇:跟我学习Spring Security--在线宠物商店开发(四)

下一篇:object—c 如何定义私有方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》