Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在同一进程中在两个AppDomain之间共享字典的数据_C#_Appdomain - Fatal编程技术网

C# 如何在同一进程中在两个AppDomain之间共享字典的数据

C# 如何在同一进程中在两个AppDomain之间共享字典的数据,c#,appdomain,C#,Appdomain,我有一个程序,我正在其中创建两个AppDomain a和B。我想和他们共享一本词典。基本上我是在appdomain A中创建字典。在这个阶段,字典中的每个键的值部分都初始化为null。然后appdomain B需要访问此字典并填写相应键的值。之后,A将使用更新的词典。有人能告诉我怎么做吗。如果有一个非常小的示例来概述这个过程,那就太好了。提前感谢您不能在两个AppDomain之间共享对象。如果您需要在两个或多个AppDomain之间共享数据,请查看.net远程处理或WCF。我对跨appdomai

我有一个程序,我正在其中创建两个AppDomain a和B。我想和他们共享一本词典。基本上我是在appdomain A中创建字典。在这个阶段,字典中的每个键的值部分都初始化为null。然后appdomain B需要访问此字典并填写相应键的值。之后,A将使用更新的词典。有人能告诉我怎么做吗。如果有一个非常小的示例来概述这个过程,那就太好了。提前感谢

您不能在两个AppDomain之间共享对象。如果您需要在两个或多个AppDomain之间共享数据,请查看.net远程处理或WCF。

我对跨appdomains共享不太了解,但您是否尝试过?如果这不起作用,或者如果您的项目较旧,则使用远程处理。

好的,那么有没有办法在两个AppDomain之间传递字典数据?你能为我们提供一些指导吗that@MananShah:使用SetData()检查以下线程将要求您拥有对appdomain的引用,这是您只能在生成“子”appdomain的appdomain中获得的,因此我认为这在这里没有帮助。谢谢@Dominik,我不知道@克里斯:我确实尝试过SetData/GetData方法,但它对我不起作用。当我执行GetData时,我的字典计数显示为零:(@Dominik:我确实引用了appdomain,但我面临着我提到的问题above@Manan沙阿:你在哪里调用SetData()?我想你是在尝试调用SetData()在域A中,然后在域B中获取数据,这将不起作用。启动应用程序时,将在不执行任何操作的情况下创建第一个appdomain。然后启动域A和B。只有从第一个域中,才能调用对appdomain A的引用的Setdata(),并检索域A中的数据。