2015-06-16 2 views
0

Я создаю библиотеку веб-сервера, которая на сегодняшний день; позволяет php, asp.net и, конечно, статический контент.Переменная статического класса в приложенииdomain

Главный движок этой библиотеки живет внутри appdomain вызывающего исполняемого файла.

В библиотеке есть класс Runtime, целью которого является сохранение статических свойств разных типов. Эти свойства заполняются изнутри домена ade.

Теперь asp.net среда требует, чтобы он живет в отдельном домене, и это работает без проблем

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

НО, внутри asp.net выполнения (который находится в отдельном AppDomain) Я не могу получить свои статические свойства из «Runtime» (они не заполняются при получении значений из asp.net appdomain)

У меня нет большого опыта работы с «MarshallByRefObject», но мои поисковые запросы приносят это довольно часто.

Выведение моего класса 'RUNTIME' от 'MarshallByRefObject'

public class Runtime : MarshalByRefObject 

Еще результаты в нуле/пустых значениях.

+1

'MarshalByRefObject' работает только для _instances_, а не _static_ данных. Возможно, вы можете создать объект «прокси», который отправляется в новый домен приложения, который может «маршалировать» статические данные. –

+0

Спасибо D, время выполнения asp.net будет выполняться только один раз во время каждого запуска процесса, мне нужно будет получить доступ к статическим свойствам в реальном времени (так как они могут меняться в течение всего цикла) Меня все еще интересует ваш подход .. не могли бы вы привести пример? –

+1

Не удалось создать метод экземпляра, который вызывает статическую? –

ответ

0

Ну, это был выброс.

Я бы упустил из виду тот факт, что у меня есть словарь сокетов в моем классе Runtime, поэтому даже если бы я решил это ... У меня все еще будет проблема передачи объектов этого типа.

Смежные вопросы