appdomain相关内容
我在想,如果有可能一个线程注入到在一个单独的进程中运行的远程应用程序域。 我的猜测是,我可以使用调试接口(ICorDebug)做到这一点,但我不知道是否有任何其他方式? 解决方案 这是可以做到有样本code中的窥探它设置了一个钩,并用托管C ++告诉AppDomain中加载程序集。真的IM pressive ...
..
下面是我用探测可用的插件列表的小类: 内部静态类PluginDirectoryLoader { 公共静态PluginInfo [] ListPlugins(字符串路径) { VAR名称= Path.GetFileName(路径); VAR设置=新AppDomainSetup { ApplicationBase
..
我采取了支持插件的应用程序。目前,当我尝试由主机应用程序和插件同时使用负载常见的装配问题出现了:主机应用程序应当使用该程序集的一个版本,而插件使用另一个版本这是通过应用程序的升级决定。流程 - 插件,可以独立于主机应用程序进行更新 每一个组件签约,所以我用强名称加载程序集。 我创建了一个测试应用程序,它演示了此问题。插件程序集位于主机应用程序的子文件夹“插件”。插件文件夹包含插件实现DLL,插
..
我们正在建立一个应用程序(的WinForms,.NET 3.5)加载“插件”的DLL到一个次要的AppDomain。次级的AppDomain需要与第一1偶尔通信(更具体地,呼叫或来自为主的AppDomain创建的对象获得的数据)。 我看了大部分材料有关他们之间的AppDomain和沟通。 到目前为止,只有简单的解决方案我已经看到了继承的的 MarshalByRefObject的的并传递一个的的
..
有关我可以做出一定的程序集的默认应用程序域使用卷影副本?,它描述了一个可行的解决方案,以激活默认的AppDomain特定目录中的影子复制。 基本上它说,使用这些简单的方法: AppDomain.CurrentDomain.SetShadowCopyPath(aDirectory); AppDomain.CurrentDomain.SetShadowCopyFiles(); 但由于这里
..
各种消息来源解释说, 当一个对象派生形式MarshalByRefObject的,对象引用 将被从一个应用程序域传递到另一个,而不是 对象本身。当一个对象被标记为[Serializable接口]时, 对象将被自动序列,从一个运 应用领域到另一个,然后反序列化,以产生 的对象中的第二应用域精确副本。请注意,然后 虽然MarshalByRefObject的传递一个参考,[Serializable接
..
我有一个不守规矩的库抛出的一个终结,这当然应用程序崩溃的异常麻烦。 要避免这种情况,我尝试加载在其自己的AppDomain库中,但异常仍气泡的表面和崩溃的应用程序。 由于记录在MSDN上,注册到 AppDomain.UnhandledException 没有prevent异常向上冒泡,但我很惊讶,没有其他办法在一个“子应用程序域”抓这样的例外。 如何插件的主机,或使用应用程序域沙箱可能有害c
..
对于在一个进程中的每个应用程序域创建一个公共静态变量的一个副本,或只是一个副本的整个过程?换句话说,如果我从改变一个静态变量的值在一个AppDomain中,是否会影响相同的静态变量的值在另一个的AppDomain在同一个进程? 解决方案 这是每个应用程序域证明了这个例子: 公共类Foo { 公共静态字符串吧{获得;组; } } 公共类测试 { 公开测试() {
..
我有一个加载外部组件,我无法控制(类似于一个插件模型,其他人创造和发展了由主应用程序使用的组件)的应用程序。它通过对这些组件,然后在装配完成后使用,主要的应用程序域卸载它们创造新的AppDomain中加载它们。 目前,它简单化 尝试 { AppDomain.Unload(otherAssemblyDomain); } 赶上(例外的例外) { //日志异常 } 但是,有时,异常在卸货过程中引发了
..
为什么我想这样做一个简短的说明: 我忙着写一个插件的Autodesk Revit Architecture软件2010测试我的插件code是繁琐的极端,因为我必须重新启动欧特克为每个调试会话,手动加载Revit项目,然后单击加载项选项卡上然后开始我的插件。这只是时间太长。 我写了承载了IronPython的跨preTER第二个插件。这样一来,我可以玩与Revit中提供的API。但最终,在cod
..
我试图加载一个dll到一个控制台应用程序,然后卸载它,并彻底删除该文件。我遇到的问题是,加载DLL在其自己的AppDomain的行为会在家长的AppDomain参考因此不能让我破坏的dll文件,除非我完全关闭程序。进行此code的工作有什么想法? 字符串fileLocation = @“C:\ Collector.dll”; AppDomain中域= AppDomain.CreateDomain
..
我有一个需要一些应用程序域之间送适度高容量的邮件应用程序。我知道,我能实现这个使用远程,但我也注意到,有跨域代表。有没有人看着这样的问题? 解决方案 我曾使用WCF与命名管道结合良好的成功。使用命名管道不会造成任何网络流量和使用二进制编码,所以它应该是pretty的快速不牺牲未来的缩放方案分发的能力。 编辑: 请参阅
..
这是一个跟进到我的最初的问题和我想present我的调查结果,并要求更正,想法和见解。我的发现(或者说跨pretations)来自别人的答案给我的previous问题,阅读MSDN .NET 3.5的文档和调试.NET 3.5 code。我希望这将是有价值的人谁不知道像我如何检测一个应用程序终止时。 活动: System.AppDomain.CurrentDomain.ProcessExi
..
我的应用程序想要调用一类,它是从另一个AppDomain中的方法。 的AppDomain ENV = AppDomain.CreateDomain( “测试”, 空值, 新AppDomainSetup(){应用程序名称=“测试”} ); 大会一= Assembly.LoadFrom(
..
我们正在加载的组件(一个DLL),该读取的配置文件。我们需要修改配置文件,然后重新加载程序集。我们看到,加载组件的第二时间之后,有在配置没有变化。 任何人看到这里有什么问题?我们离开读取配置文件中的细节。 应用程序域的子域; 字符串的AssemblyName =“mycli”; 串域名=“子域”; MyType类型; 对象myObject的; //加载应用程序域+组装 子域= AppDom
..
下面是我的问题的基本要点是: 在我的主窗口类实例化的类。 A类实例化B级在中学的AppDomain 在B类引发事件和A级成功处理该事件。 在A级提高自身的事件。 问题:在步骤4,当一个类提高其的的的距离,引起了B类的事件的事件处理程序方法事件,引发该事件; 但是,在Window类订阅处理程序不会被调用。 有没有异常被抛出。如果我删除辅助的AppDomain,该事件得到没有问题的处理。 有谁
..
问题陈述:实现一个插件系统,使相关的组件被覆盖(避免文件锁定)。在.NET中,具体的组件可能无法卸载,只有整个应用程序域可以被卸载。 我张贴这一点,因为当我试图解决这个问题,每个解决方案参考了使用多个应用程序域。多个AppDomain是很难实现正确的,即使在一个项目开始架构。 此外,应用程序域没有适合我,因为我需要跨域作为语音服务器worfklow的InvokeWorkflow活动设置传输类型
..
我一直在问有关的AppDomain在接受采访时,和我知道的基本知识: 在他们的应用程序中的隔离级别(使它们从不同的应用程序) 在他们可以有螺纹(使它们从不同的线程) 在一个AppDomain中的异常不影响另一个 的AppDomain无法访问彼此的记忆 在每个应用程序域可以有不同的安全 我还是不明白是什么让他们有必要的。我在寻找一个合理的具体情况时,你会使用一个。 回答: 不可信code
..
.NET具有应用领域这一概念,它从我的理解可以用来组装加载到内存中。我已经做了在应用程序域的一些研究,以及去我的本地书店查找有关此主题的一些额外的知识,但它似乎非常稀少。 我只知道,我可以使用应用程序域做的是装载程序集在内存中,我可以卸载它们时,我想要的。 什么是我所提到的应用领域之外的能力?在线程尊重应用程序域的边界呢?有没有加载组件在不同的应用领域的任何缺点比超出通信性能的主要应用程序
..
什么是的AppDomain ?什么是应用程序域或者为什么的好处 微软带来的AppDomain的概念,什么是没有的AppDomain问题? 请详细说明。 解决方案 这是的AppDomain 提供了一个隔离层的过程中。一切你通常所认为的“按计划”(静态变量等)实际上是每个AppDomain中。本作是有用的: 插件(你可以卸载一个的AppDomain ,而不是组装的在的的的AppDomain )
..