欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【.NET实现热插拔功能(动态替换功用)方案实例】,下面是详细的讲解!
.NET实现热插拔功能(动态替换功用)方案实例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;
using System.IO;
using Contracts;
namespace Test
{
class Program
{
static void Main(string[] args)
{
SetupPlugEnvironment();
ExecuteOperator("1.0.0.0");
ExecuteOperator("2.0.0.0");
}
private static void ExecuteOperator(string version)
{
var operatorType=Type.GetType("Implements.Operator, Implements, version=" + version + "");
var operatorInstance=Activator.CreateInstance(operatorType) as IOperator;
operatorInstance.Operate();
}
private static void SetupPlugEnvironment()
{
AppDomain.CurrentDomain.AssemblyResolve +=CurrentDomain_AssemblyResolve;
}
static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
AssemblyName name=new AssemblyName(args.Name);
var file=Path.Combine(
@"E:\Coding\HappyStudy\LoadContextStudy\Test\bin\Debug\Plugs",
name.Name,
name.Version.ToString(),
name.Name + ".dll");
Console.WriteLine("加载插件:" + name.Version);
return Assembly.LoadFile(file);
}
}
}
关于.NET实现热插拔功能(动态替换功用)方案实例的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 【asp】asp.net开发中常见公共捕获异常方式总结(
- 【Visual】分享Visual Studio原生开发的10个调试
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
