zoukankan      html  css  js  c++  java
  • .net 获取AppDomain创建了多少

    partial class HttpBrowser
        {
            public static string IsolateCall(PageContentHandler pHandler)
            {
                Contract.Requires(pHandler != null);
    
                string name = Guid.NewGuid().ToString("N");
                var box = SandboxManager.Create(name, true);
                try
                {
                    string entryType = "AnfleCrawler.Common.IsolatedBrowser, AnfleCrawler.Common";
    #if DEBUG
                    App.LogInfo("IsolateCall EntryType:{0}", entryType);
    #endif
                    //string ret = (string)box.Execute(entryType, pHandler);
                    string ret = (string)box.Execute(entryType, "xCross", new object[] { pHandler });
                    if (ret == null)
                    {
                        throw new InvalidOperationException(string.Format("IsolatedBrowser {0}", entryType));
                    }
                    return ret;
                }
                finally
                {
                    SandboxManager.Unload(box);
    #if DEBUG
                    App.LogInfo("IsolateCall Domains:{0}", string.Join("#", GetAppDomains().Select(p => p.FriendlyName)));
    #endif
                }
            }
    
            private static IEnumerable<AppDomain> GetAppDomains()
            {
                var list = new List<AppDomain>();
                IntPtr enumHandle = IntPtr.Zero;
                var host = new mscoree.CorRuntimeHostClass();
                try
                {
                    host.EnumDomains(out enumHandle);
                    object domain = null;
                    while (true)
                    {
                        host.NextDomain(enumHandle, out domain);
                        if (domain == null)
                        {
                            break;
                        }
                        var appDomain = (AppDomain)domain;
                        list.Add(appDomain);
                    }
                    return list;
                }
                finally
                {
                    host.CloseEnum(enumHandle);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(host);
                }
            }
        }
  • 相关阅读:
    数据泵导出 备份文件以日期时间命名
    执行计划的查看
    truncate 函数用法示例
    几个小知识点
    删除大表数据
    转 oracle 11g 导出空表
    数值转为财务大写
    oracle 取随机数据
    大表 update 方式
    >hibernate.cfg.xml的一些常用配置
  • 原文地址:https://www.cnblogs.com/Googler/p/4167725.html
Copyright © 2011-2022 走看看