appdomain相关内容
我有一个应用程序,我需要在其中创建 AppDomain 并将程序集加载到其中并执行程序集中的方法. 这是我的代码 公共类 CreateAppDomain{公共无效 CreateAppDom(){AppDomain 域 = AppDomain.CreateDomain("myDomain");domain.ExecuteAssembly(@"C:\Visual Studio 2005\Pro
..
我想在自己的 Revit 插件 中使用崩溃报告器,但从未调用 AppDomain.CurrentDomain.UnhandledException.似乎 Revit 本身管理未处理的期望并显示自己的崩溃对话框.在 Revit 捕获它们之前,我应该怎么做才能在 Revit 插件中捕获所有未处理的异常? 我已经尝试了以下代码行,但它不起作用:它从不进入处理程序方法: public Result
..
似乎 .NET AppDomain.AssemblyLoad 事件会捕获其事件处理程序中抛出的任何异常,而不是将它们传播给触发程序集加载的调用者(例如 Assembly.LoadFile()). 我的第一个问题是为什么这会捕获所有异常行为?Microsoft 通常非常严格地确保异常始终在其 BCL 中传播. 我的第二个问题,有没有办法关闭这种行为? 背景:我需要在加载程序集时对其
..
首先,抱歉篇幅过长... 我有一个类似于 MAF 的主机/插件应用程序.我们没有使用任何 System.Addin 或关联的命名空间,因为这是一个自定义插件架构,其中包含多个 AppDomains.主机 UI(用户界面)在它自己的应用程序循环 (AppDomain) 中运行.当双击列表视图中的项目时,会发生以下情况: private static void StartPeripheralM
..
我有一个包含以下代码的 C# 2.0 类: public class MyClass : MarshalByRefObject, IDisposable{私人字符串_appName;私有 AppDomain _app;公共 MyClass(string appName){_appName = appName;_app = AppDomain.CreateDomain("NewDomain" +
..
我想加载这个类库: 命名空间 ClassLibrary1{公开课 Class1{公共类 1(){}public static int Sum(int a, int b){返回 a + b;}}} 我有一个 wcf 服务,它返回给我一个 byte[] 数组 (ClassLibrary1) 我无法加载这个程序集 static void Main(string[] args){FileTransf
..
我创建了一个 AppDomain,在新域中创建了一个对象的实例,并调用了一个方法,该方法返回包装对象上当前 AppDomain 的名称.返回的值是主程序域的名称,而不是新创建的.顺便说一下,代码在 VS2010 中作为 UnitTest 执行. 知道为什么测试失败了吗? [可序列化]公共类 DomainHelper{公共字符串 GetDomainName(){返回 AppDomain.Cu
..
我正在尝试扩展 .Net 2.0 软件的一个免费、专有的部分,这让我很伤心.我成功地注入了一个 Win32 dll 并让它成功地将 .Net dll 加载到主应用程序域中,但这样做导致他们的自定义 GUI 系统完全锁定. 是否可以获取对远程 AppDomain(在另一个应用程序中运行)的引用并对其执行操作(例如加载程序集、创建类)? 我之所以这么问,是因为我确定我在使用 Win32 托
..
为 COM Interop 注册的 .NET 程序集与一些应在程序集中加载类型的反射代码相结合会导致一些奇怪的行为.我已经分析了调试器中发生的事情,并在网上搜索以找到解决方案.找了很多有帮助的文章,但都没有让我彻底解决问题. 问题概述 A 有一个不是 .NET 的 exe 文件(在我的例子中是 VB6 应用程序).它驻留在文件夹 A. 我在文件夹 B 中有一些 .NET dll.其中
..
我有一个使用 SignalR 用 C# 编写的工作 Web 服务器.这是一个自托管的 Owin 应用程序.一切正常. 现在我必须在不同的 AppDomains 中重新定位我的控制器.这打破了 SignalR 部分,因为 GlobalHost 仅在一个 AppDomain 中保持不变,并且不可序列化(因此我无法将其按原样传递给其他 AppDomain). 我发现了很多关于从控制器/其他类
..
我第一次尝试使用 AppDomains,但发现自己有点迷茫. 这是我所做的:我有一个控制台应用程序,它实例化 Bootstrapper 类并调用 Bootstrapper.Bootstrap. 这个类看起来像这样: 公共类 Bootstrapper : MarshalByRefObject{私有静态 AppDomain SecondaryAppDomain;私人引导程序_secon
..
有没有办法从非托管应用程序中卸载默认的 .NET AppDomain? 我正在使用名为 .NET Extender 用于在 Visual FoxPro 中使用 .NET 程序集,它允许我托管 .NET 控件并在 FoxPro 环境中使用 .NET 类和方法. 我遇到的问题是,从 Visual FoxPro 中调试应用程序时,它会运行 IDE 的主 vfp9.exe 应用程序文件下的所有
..
我有一个包含工厂方法的可编组类.工厂方法可用于实例化测试 AppDomain 中的类.我试图了解我是否可以将类与 using( ... ) 处理模式一起使用. 我最关心的是测试 AppDomain 是否已卸载——以及何时卸载.我在调用实例方法时设置的类中添加了一个静态标志.如果 appdomain 没有卸载,那么我相信这个标志应该在后续调用中保留它的设置. 示例类和测试控制台应用程序如
..
所以我的问题围绕着节省内存. 本质上,我需要将程序集加载到主/当前域以外的单独应用程序域中,检查该程序集中的类型,然后在完成后卸载新域. 目前我的解决方案如下: AppDomain NewDomain = AppDomain.CreateDomain("newdomain");foreach(dllPaths中的字符串路径)//dll路径的字符串列表{byte[] dllBytes
..
我们对旧版本不存在的新(异步)版本的 Rebus 存在问题. 在处理 rebus 消息并尝试创建 AppDomain 和 Instance 以动态运行插件代码时,它总是给我一个异常.为了让例子尽可能简单,我做了一个测试方法: public static void Test(){AppDomain ad = AppDomain.CreateDomain("Test");Loader load
..
在我的默认(完全信任)AppDomain 中,我想创建一个沙箱 AppDomain 并订阅其中的事件: class 域:MarshalByRefObject{公共事件 Action TestEvent;}Domain domain = AppDomainStarter.Start(@"C:\Temp", "Domain", null, true);domain.TestEvent += () =
..
我使用以下方法加载新程序集并将类的实例创建到新 AppDomain 中. 私有静态对象 CreateInstanceFromBinary(AppDomain appDomain, string typeName){装配入口Assembly = Assembly.GetEntryAssembly();byte[] assemblyBinary = LoadAssemblyBinary();程序集已
..
假设我有一个名为“MyService"的 Windows 服务和一个名为“MyEXE"的可执行文件,位于我网络上的多台计算机上. 是否可以(从“MyService"中)在不同/同一台计算机上启动多个“MyEXE"实例,让它执行一些任务并将真/假结果返回给“MyService"中的回调方法? 类似的东西 class MyService : ServiceBase{委托 void Upd
..
我有一个使用插件的应用程序.我在另一个应用程序域中加载插件.我使用 http://www.pocketsilicon.com/post/Things-That-Make-My-Life-Hell-Part-1-App-Domains.aspx 以防止对象在 5 分钟后被垃圾回收. 只要我的应用程序正在运行,这就会很好用,但是当它关闭时,我在取消注册时收到 InvalidOperation
..
我有一种情况,其中 AppDomain.CurrentDomain.AssemblyResolve 被调用用于已使用 Assembly.Load(myAssemblyMemStream.ToArray())Assembly.Load(myAssemblyMemStream.ToArray()) 加载到当前域中的程序集代码>. 这是为什么? 我需要执行以下操作才能使其正常工作.这与 .N
..