AppDomain изоляция - PullRequest
       46

AppDomain изоляция

2 голосов
/ 07 октября 2010

РЕДАКТИРОВАТЬ кажется, мой оригинальный пост ниже, возможно, был немного длинным.

Проще говоря, могу ли я создать несколько доменов приложений и убедиться, что они никак не могут общаться друг с другом?


Существует конкурентная лига по роботизированному футболу под названием RoboCup 3D . Одно из основных правил заключается в том, что все коммуникации между агентами должны осуществляться через центральный сервер. Этот сервер применяет правила симуляции, такие как ограничение расстояний и скорости передачи сообщений по полю.

Команды состоят из нескольких агентов. Правила гласят, что каждый агент должен работать в своем собственном процессе. Обоснование заключается в том, что межпроцессное взаимодействие может быть обнаружено.

Я создал библиотеку .NET для RoboCup под названием TinMan . Говорят о соответствующих списках рассылки вводимых команд, которые будут написаны в .NET впервые в следующем году. Кроме того, они будут работать на Mono.

В управляемой среде, такой как CLR, я полагаю, что производительность всех агентов в одном экземпляре CLR выиграет от производительности, прежде всего из-за запуска одного GC. Я задал вопрос, может ли быть приемлемым использовать отдельные домены приложений одного и того же процесса, если это так.

Что бы я хотел узнать, возможно ли обнаружить (и даже предотвратить) связь между доменами приложений. Если это так, то есть больше шансов, что команды RoboCup, написанные на .NET, смогут запустить свои команды в одном процессе.

1 Ответ

1 голос
/ 15 ноября 2011

AFAIK, нет. Домены приложений управляются CLR; Вы не можете перехватить связь между доменами приложений, чтобы предотвратить ее (например, в каком домене приложений будет выполняться этот код?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...