public static string IsolateCallV1(PageContentHandler pHandler)
{
string name = Guid.NewGuid().ToString("N");
var domain = AppDomain.CreateDomain(name);
try
{
var proxy = (IAppEntry)domain.CreateInstanceAndUnwrap("AnfleCrawler.Common", "AnfleCrawler.Common.IsolateProxy");
string ret = (string)proxy.DoEntry(pHandler);
if (ret == null)
{
throw new InvalidOperationException("IsolateProxy");
}
return ret;
}
finally
{
//AppDomain不能即时卸载?不能在IDisposable中卸载? //App.LogInfo("IsolateCollect Unload {0}@{1}", domain.FriendlyName, AppDomain.CurrentDomain.FriendlyName);
//AppDomain.Unload(domain);
new JobTimer(state =>
{
try
{
var d = (AppDomain)state;
//if (d.IsFinalizingForUnload())
//{
// return;
//}
App.LogInfo("IsolateCollect Unload {0}", d.FriendlyName);
AppDomain.Unload(d);
}
catch (Exception ex)
{
App.LogError(ex, "IsolateCollect");
}
}, DateTime.Now.AddSeconds(20d)).Start(domain);
}
}

C# Sandboxer的更多相关文章

随机推荐

  1. Mysql 组合查询 UNION 与 UNION ALL

  2. CLGeocoder Error Domain=kCLErrorDomain Code=2

    使用CLGeocoder解码地址时,遇到错误 Error Domain=kCLErrorDomain Code=2 代码: #pragma mark 跟踪定位代理方法,每次位置发生变化即会执行(只要定 ...

  3. VC++编译libpng

    目录 第1章简介    1 第2章 Visual C++6.0    2 2.1 打开项目    2 2.2 编译宏    3 2.2.1 小结    5 第3章 Visual C++2010     ...

  4. java 模板

    模板模式: 解决某类事情的步骤有些是固定的,有些是会发生变化的,这时我们提供 一个模板代码,从而提高效率. 模板模式的作用: 1.解决这类事情其中一件的解决方案. 2.分析代码,把发生变化的代码抽象取 ...

  5. controller 监控Unix性能信息

    linux系统需要有RPC(Remote Procedure Call Protocol),远程过程调用协议,通过安装rpc.rstatd程序,启动其服务,就可以给远程机器提供信息,即Lr可以获取到该 ...

  6. CentOS报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock32 error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

    今天安装完带图形界面的CentOS 7后,在Terminal中运行yum安装命令时报了以下错误: Could not retrieve mirrorlist http://mirrorlist.cen ...

  7. [saiku] 配置spring-security 允许 iframe加载saiku首页

    最近提出了一个需求:在一个iframe中展现saiku首页 呵呵,这还不简单. 直接<iframe src="http://localhost:8080/saiku" /&g ...

  8. JavaScript中给对象添加函数的方式

    1. function 类名(){ this.属性: } var 对象名=new 类名(): function 函数名(){ //执行代码 } 对象名.属性名=函数名: 对象名.属性名(): func ...

  9. hdu----(4686)Arc of Dream(矩阵快速幂)

    Arc of Dream Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Tota ...

  10. android - anim translate中 fromXDelta、toXDelta、fromYDelta、toXDelta属性

    <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http:// ...