当前位置: 首页 > news >正文

wordpress是建站最快的长沙seo计费管理

wordpress是建站最快的,长沙seo计费管理,什么网站下载素材做图的,拓者设计吧室内设计我有一个项目 开始取数据和结束数据部分是一样的,但中间处理数据是根据客户需求来转换的 又要求增加一个客户数据转换 主程序是不能停下来的 所以这个项目转数据转换部分做成插件式 每个客户的数据转换都是一个项目 都是一个DLL 主程序里面定义好接口类或者抽象…

我有一个项目 开始取数据和结束数据部分是一样的,但中间处理数据是根据客户需求来转换的

又要求增加一个客户数据转换 主程序是不能停下来的

所以这个项目转数据转换部分做成插件式

每个客户的数据转换都是一个项目 都是一个DLL

主程序里面定义好接口类或者抽象类以约束数据转换项目方法

一:主程序 加载的时候就监听一个文件夹里的DLL 切加载DLL

public static void AgreementDllWatcher()
{string dir = INIConfig.AgreementPath;string[] allDll = Directory.GetFiles(dir, "*.dll");foreach (var fdll in allDll.OrderBy(f => System.IO.File.GetLastWriteTime(f))){LoadDllLoadMenu(fdll);}// 创建FileSystemWatcher对象并设置要监视的目录FileSystemWatcher watcher = new FileSystemWatcher(dir);// 设置监视的文件类型watcher.Filter = "*.dll";// 设置监控的事件类型watcher.NotifyFilter = NotifyFilters.LastWrite| NotifyFilters.FileName| NotifyFilters.DirectoryName;// 监视子目录watcher.IncludeSubdirectories = true;// 定义事件处理器watcher.Created += (source, fsea) =>{// 打印发生的事件Console.WriteLine($"{fsea.FullPath} - {fsea.ChangeType}");Thread.Sleep(5000);LoadDllLoadMenu(fsea.FullPath);};//watcher.Deleted += OnChanged;//watcher.Changed += OnChanged;//watcher.Renamed += OnRenamed;// 只当需要时启动监控watcher.EnableRaisingEvents = true;MainForm.form1.ShowMessage("协议文件夹监控启动。。。");// 关闭监控//watcher.EnableRaisingEvents = false;}
 static List<Type> ListAgreementClass = new List<Type>();private static void LoadDllLoadMenu(string FullPath){try{//动态加载程序集Assembly assembly = Assembly.LoadFile(FullPath);if (assembly != null){{获取程序集中指定的类类型,参数为:命名空间.类型名//var type = assembly.GetType("ConsoleApp2.Xiaoa");创建实例,方法一//var obj = Activator.CreateInstance(type);创建实例,方法二  ,参数为:命名空间.类型名    var obj = assembly.CreateInstance("DynamicReferenceDLL.MyMath");获取实例中的方法//var method = type.GetMethod("e");调用实例方法//object result = method.Invoke(obj, new object[] { });}{//Type t = nameSpaceAll.Where(x => x.Name == tableName.ToString()).FirstOrDefault();  // assembly.GetTypes() //获取当前类库下所有类型//.Where(t => typeof(I_Sl651).IsAssignableFrom(t)) //获取间接或直接继承t的所有类型//.Where(t => !t.IsAbstract && t.IsClass) //获取非抽象类 排除接口继承IEnumerable<Type> wormMain = assembly.GetTypes().Where(t => !t.IsAbstract && t.IsClass);foreach (Type t in wormMain){ListAgreementClass.Remove(ListAgreementClass.Where(c => c.Name == t.Name).FirstOrDefault());ListAgreementClass.Add(t);}//ListAgreementClass.AddRange(wormMain);// m.GetInterface(typeof(I_Sl651).Name) != null);//var tmpObj = (SL651Standard)Activator.CreateInstance(wormMain);//tmpObj.LoadMenu();}}}catch (Exception ex){Logging.SaveLog(ELogLayer.Transfer, ex.ToString(), ELogType.Error);}}

二:热替换

麻烦:在你监控的文件夹里有同名的DLL系统会说占用不让换

解决:将DLL文件名后面加上时间 就可以复制进去了

注意程序里面添加到内存的是 类名 不是我们DLL的文件名,所以做好 list的替换就行

http://www.mmbaike.com/news/103618.html

相关文章:

  • 网站建设合作流程图万网域名购买
  • 犀牛建筑网校九幺seo工具
  • 建站收费标准社会新闻最新消息
  • 文本文档做网站搜狗关键词优化软件
  • asp网站后台失效十八未成年禁用免费app
  • wordpress网站菜单固定seo网站排名优化培训教程
  • 黄色网站国外企业营销培训课程
  • 做心灵鸡汤网站栏目排版网站seo关键词设置
  • wordpress图片列表页seo网站关键词优化
  • 网站浏览思路网站系统开发
  • 临安做网站的公司有哪些永久免费google搜索引擎
  • 泰安可以做网站的公司江西省水文监测中心
  • 亚购物车功能网站怎么做的海外广告投放渠道
  • 网站建设的步骤图网络推广的含义
  • 如何拥有一个自己的网站百度高级搜索引擎
  • 做箱包批发哪个网站好网站网络推广运营
  • 北京学生做兼职的网站seo研究中心超逸seo
  • 做爰免费时看视频澳门网站seo百度关键词优化软件
  • 城阳网站建设电话百度快速seo
  • 响应式网站模板 开源手游代理平台哪个好
  • 注册一个做网站的公司好梅花seo 快速排名软件
  • 上海网站建设极简慕枫百度指数的数据来源
  • 沈阳企业网站建设百度平台订单查询
  • 网站的公告栏怎么做优化seo是什么意思
  • 企业建设官方网站作用及意义百度移动版
  • wordpress会员浏览怎么优化关键词排名优化
  • 企业网站可以做跨境电商吗微信管理软件
  • 做一个信息网站多少钱贵阳搜索引擎排名推广
  • 深圳手机商城网站设计公司可以推广的软件
  • 自己做的网站怎么排名网络推广长沙网络推广