首页 > 代码库 > .net 获取AppDomain创建了多少
.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); } } }
.net 获取AppDomain创建了多少
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。