zoukankan      html  css  js  c++  java
  • C# Sandboxer

     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);
                }
            }
  • 相关阅读:
    python3--生成器
    python3--列表生成式
    python3--装饰器高级学习版
    python3--嵌套函数
    python3-装饰器
    《Hexo+github搭建个人博客》
    Html网页的代码
    关于内联框架
    性能调优
    Java知识总结
  • 原文地址:https://www.cnblogs.com/Googler/p/3753437.html
Copyright © 2011-2022 走看看