using System;
using
namespace
/// <summary> ///.NET remoting技术与应用程序域小用 /// </summary>
System.Runtime.Remoting;MyAppDomainNamespace
class CodeDriverInAppDomain
{
public string CompileAndRun(string code, out bool hasError)
{
string results;
AppDomain codeDomain = AppDomain.CreateDomain("MyWpfApplication.CodeDriver");
//加载程序集
//MyWpfApplication.CodeDriver必须序列化
MyWpfApplication.CodeDriver codeDriver = (MyWpfApplication.CodeDriver)(codeDomain.CreateInstanceFromAndUnwrap("MyWpfApplication.exe", "MyWpfApplication.CodeDriver"));
//执行加载的类中的方法
results=codeDriver.CompileAndRun(code,out hasError);
//卸载程序集
AppDomain.Unload(codeDomain);
return results;
}
}
}
本文介绍了一个利用.NET Remoting技术与应用域(AppDomain)的示例,演示了如何在一个独立的应用域中编译并运行代码片段。通过创建一个名为MyWpfApplication.CodeDriver的应用域,并在该域内实例化指定类来实现代码的安全隔离执行。
58

被折叠的 条评论
为什么被折叠?



