appdomain相关内容

跨应用域访问 Console.Out

我需要读取在同一进程中但在不同 appDomain 中运行的应用程序 (Core.exe) 的标准输出.在处理流程时重定向输出非常容易,但 appDomains 概念对我来说是新的. 所以.. 我在孤立的 appDomain 中启动应用程序 new HostedApp("core", "Core.exe").Run();类托管应用程序{内部字符串域名;内部字符串AssemblyName;内 ..
发布时间:2021-11-16 19:10:53 C#/.NET

.Net 如何创建跨进程的所有 AppDomain 共享的自定义 ThreadPool?

我制作了一个针对我的特定需求进行了优化的自定义线程池.但是,当进程中有多个 AppDomains 时,CLR ThreadPool 能够在所有 AppDomains 之间共享,我希望能够重现这种行为. 这可以使用 MarshalByRefObject 和 Remoting 来创建分布式线程池,但我担心这会增加不必要的开销,因为自定义线程池的主要目标是性能. 另一个理论上的解决方案是使用 ..
发布时间:2021-11-16 19:10:50 C#/.NET

ASP.NET Web 应用程序在部署后不会卸载 AppDomains

当我们部署 Web 应用程序时,我们将所有代码复制到一个新目录,然后将 iis 指向该新目录.当我们这样做时,应用程序域的数量会增加但不会减少.此外,我们的 Application_End 事件似乎永远不会触发. 在某些未知的时间里,虽然 perfmon 仍会报告两组 AppDomain,但系统性能非常差,而 GC 中的时间百分比飙升至 100%.最终我回收了应用程序池,让应用程序再次顺利运 ..
发布时间:2021-11-16 19:10:47 C#/.NET

自定义 AppDomain 和 PrivateBinPath

我使用 c# 4.0 和一个控制台应用程序只是为了测试,下面的代码确实给出了一个例外. AppDomainSetup appSetup = new AppDomainSetup(){ApplicationName = "插件域",ApplicationBase = AppDomain.CurrentDomain.BaseDirectory,PrivateBinPath = @"插件",配置文件 ..
发布时间:2021-11-16 19:10:44 C#/.NET

FileNotFound 加载依赖于另一个域的程序集时

我正在尝试使用插件制作应用程序. 我有 MainLib.dll,在那里我用 1 个方法制作了一些通用接口(让它成为 ICommon).然后,我制作了 2 个 .dll(插件),它们引用了 MainLib.dll 并在某些类中实现了 ICommon.此外,我删除了此 .dll 中的所有引用,除了 System. 然后,我创建了一个应用程序,它监视文件夹".\\Plugins" 并加载ne ..
发布时间:2021-11-16 19:10:41 C#/.NET

终结器线程的范围是什么 - 每个应用程序域或每个进程?

根据我的所有阅读,应该有一个 GC 线程来调用所有终结器.现在,问题是这个“一个"线程的范围是什么——每个进程或每个应用程序域,因为域的整体意图是在一个进程空间中分离和制作“独立"的不同应用程序. 我在这里阅读: 如果一个未处理的异常发生在终结 CLR 的执行线程将吞下异常,对待终结器就好像它正常完成一样,将其从可访问队列中删除并移至下一个条目. 更严重的是,会发生什么如果您的终 ..
发布时间:2021-11-16 19:10:38 C#/.NET

将 app.config 加载到 AppDomain 中

我无法将 App.Config 文件加载到应用程序域中. 我正在使用 [System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", $config_path) 来自 Powershell 调用使用 App.config 的 .NET 程序集 但 App.Config 文件仍未加载. 我还尝试按照 使用 CurrentDom ..
发布时间:2021-11-16 19:10:35 其他开发

结合应用域远程处理和任务时出现死锁

我的应用程序需要将插件加载到单独的应用程序域中,然后异步执行其中的一些代码.我已经编写了一些代码来将 Task 包装在可编组类型中: 静态类 RemoteTask{公共静态异步任务ClientComplete(RemoteTaskremoteTask,CancellationToken 取消令牌){结果;使用 (cancellationToken.Register(remoteTask.Canc ..
发布时间:2021-11-16 19:10:32 C#/.NET

facebook 错误应用程序域:[IP 地址] 不是有效域.?

我在 facebook 应用程序中将我的生产服务器 IP 地址作为应用程序域,但它没有保存.由于应用程序域无效,它返回错误.这样我就不能使用我的 Facebook 连接 API. 我们可以在FB应用程序中提供IP地址作为应用程序域吗?如果不是,还有什么方法可以做? 解决方案 不行,app 域好像只能是域,不能是 ip 地址. 例如在应用设置页面中,在应用域附近悬停“?"并看到: ..
发布时间:2021-11-16 19:10:29 其他开发

COM 互操作是否尊重 .NET AppDomain 边界以加载程序集?

这是核心问题:我有一个 .NET 应用程序,它使用 COM interop单独的应用程序域.COM 内容似乎正在将程序集加载回默认域,而不是从中调用 COM 内容的 AppDomain. 我想知道的是:这是预期的行为,还是我做错了什么导致这些与 COM 相关的程序集加载到错误的 AppDomain 中?请参阅下面更详细的情况描述... 该应用程序由 3 个程序集组成:- 主 EXE,应 ..
发布时间:2021-11-16 19:10:26 C#/.NET

跨应用程序域的 log4net

我有一个应用程序,它从一个应用程序域初始化 log4net,并需要在另一个应用程序域中使用它.是否支持? 如果不是,我应该从每个应用程序域初始化 log4net 吗?在同一个应用程序中多次初始化是否存在风险?我应该使用相同的 log4net.config 吗? 解决方案 log4net-user 邮件列表有一个适用于 RollingFileAppender 的答案.将以下行添加到 l ..
发布时间:2021-11-16 19:10:23 其他开发

AppDomain地址空间

首先,问题是:CLR 规范是否保证在同一进程内的多个应用程序域中执行的代码将共享相同的地址空间?“共享地址空间"是指指向在一个应用程序域中分配的内存的指针对于在同一进程内托管的所有应用程序域之间进行读写是有效的. 考虑这个说明问题的独立示例:程序在单独的应用程序域中分配一个 Worker 对象.Worker 为 10,000 个整数分配一个内存块,并用数据填充它.然后程序跨应用域边界调用以获 ..
发布时间:2021-11-16 19:10:20 C#/.NET

如何动态加载包含非托管代码的原始程序集?(绕过“无法验证的代码失败策略检查"异常)

我将举一个使用 System.Data.SQLite.DLL 的例子,它是一个混合的具有非托管代码的程序集:如果我执行这个: var assembly=Assembly.LoadFrom("System.Data.SQLite.DLL") 不会抛出异常,但如果我这样做: var rawAssembly = File.ReadAllBytes("System.Data.SQLite.DLL ..
发布时间:2021-11-16 19:10:17 C#/.NET

制作域中立程序集的步骤是什么?

...这些步骤是否也可以应用于第 3 方程序集(可能已经具有强名称)? 我的问题的上下文不应该很重要,但无论如何我都会分享:我正在考虑制作一个记录器(或日志包装器),它始终知道要定位的“日志源",无论程序集是否在一个应用程序域中使用它,或分布在多个应用程序域中.我认为实现这一目标的一种方法是拥有一个具有静态“LogSource"属性的域中立程序集.如果在域中立程序集中设置该静态属性,我认为所 ..
发布时间:2021-11-16 19:10:14 C#/.NET

AppDomain 是否等同于 .NET 代码的进程?

我必须调用一些编写不当的第 3 方 COM 组件,这些组件存在内存泄漏并在长时间运行的进程中使用单线程单元 [STA]. 我知道单独的进程将是实现它的好方法,我可以偶尔从长时间运行的进程中重新启动它. 可以改用 AppDomain 吗?如果标记适当,AppDomain 线程是否为 STA 线程?它有自己的 COM 对象内存吗?卸载AppDomain就相当于杀了进程? 解决方案 ..
发布时间:2021-11-16 19:10:11 C#/.NET

如何跨 AppDomain 边界传递 CancellationToken?

我有一个命令对象,它根据来自请求队列的请求执行工作.此特定命令将在子应用程序域中执行其工作.在子应用程序域中执行其工作的一部分涉及阻塞 ConcurrentQueue 操作(例如,添加或获取).我需要能够通过请求队列将中止信号传播到子应用程序域,并唤醒其中的工作线程. 因此,我认为我需要跨 AppDomain 边界传递一个 CancellationToken. 我尝试创建一个继承自 M ..
发布时间:2021-11-16 19:10:08 C#/.NET

沙盒 IronPython?

是否可以在我的 .Net 应用程序中运行 IronPython 解释器,但在沙箱中运行?我想拒绝 IP 脚本访问文件系统,同时仍允许应用程序本身访问. 这是否涉及在第二个 AppDomain 中运行脚本引擎?我要怎么给它戴上手铐,让它不能为所欲为? 解决方案 这里有一篇文章解释了如何创建一个 AppDomain 并在沙箱中执行代码.只需创建 AppDomain 并限制在其中运行的代码 ..
发布时间:2021-11-16 19:10:05 C#/.NET

我在哪里可以购买 .app TLD?

在哪里可以购买 .app 顶级域名 (TLD)? 我去了 Network Solutions、GoDaddy 等,但找不到销售 .app 域的人(例如 http://example.app). 解决方案 无处.ICANN 给出的时间表预计要到 2013 年初才能使用新 gTLD: http://en.wikipedia.org/wiki/Generic_top-level_do ..
发布时间:2021-11-16 19:10:02 其他开发

C# .dll 程序集可以包含入口点吗?

我的目标是创建一个可执行文件来启动影子复制应用程序.诀窍是,我希望这个启动程序没有外部依赖项,并且不必包含有关它必须启动的程序的任何知识. 我还希望它成为目录中唯一的可执行文件.换句话说,我希望它“运行"一个 .dll 程序集而不是一个 .exe 程序集.(我可以要求加载到新 AppDomain 中的 .dll 文件的名称每次都相同,例如 Main.dll 或类似内容.) 看起来 Ap ..
发布时间:2021-11-16 19:09:55 C#/.NET