2010-10-13 2 views
-1

У меня есть работающее распределенное приложение, которое имеет довольно большой недостаток. Для работы client.exe требуется server.exe..NET Remoting client.exe требуется server.exe

Причина в том, что клиент и сервер используют класс MarshalByRef (который существует с обеих сторон в виде .DLL), который содержит ссылку на сервер.

Есть ли способ изменить порядок вещей, чтобы мне не нужна копия server.exe на клиенте?

ответ

1

Да.

Создайте отдельную сборку (dll), которая содержит общие классы/интерфейсы и распространяет эту DLL с вашим клиентом и сервером. Таким образом, клиенту не нужен файл server.exe, ему просто нужна общая dll.

1

Создайте интерфейс, который представляет методы, свойства и т. Д. Этого класса MarshalByRef, предложите класс реализовать этот интерфейс, поместите интерфейс в отдельную библиотеку DLL и просто используйте это с клиентом.

Существует много examples, если вы используете Google для удаленного взаимодействия.