跨应用域的静态类变量

本文关键字:静态类 类变量 静态 应用 | 更新日期: 2023-09-27 17:56:36

我正在构建一个Web服务器库,到目前为止;允许php,asp.net,当然还有静态内容。

此库的主引擎位于调用可执行文件的 appdomain 中。

该库有一个类"运行时",其目的是存储不同类型的静态属性。这些属性从 exe 的应用程序域中填充。

现在,asp.net 运行时要求它位于单独的域中,这可以正常工作

ApplicationManager.CreateAppDomain(typeof(ASPHost), "/", DocumentRoot)

但是,从 asp.net 运行时(位于单独的应用程序域中)中,我无法从"运行时"获取静态属性(从 asp.net 应用程序域获取值时不会填充它们)

我对"MarshallByRefObject"没有太多经验,但我的搜索经常出现这个问题。

从"MarshallByRefObject"派生我的"运行时"类

 public class Runtime : MarshalByRefObject

仍会导致空/空值。

跨应用域的静态类变量

嗯,

这是一个井喷。

我忽略了我的运行时类中有一个套接字字典的事实,所以即使我要解决这个问题......我仍然会遇到传递此类对象的问题。