C # вызов внешней функции (класс другой машины) - PullRequest
0 голосов
/ 01 февраля 2011

Можно ли вызвать функцию во внешнем классе?Внешний класс работает на другом компьютере (скажем, его местоположение - mymachine.com).Я использовал CreateInstance некоторое время назад, но не думаю, что это подойдет (поправьте меня, если я ошибаюсь).Я долго искал, но пока не нашел решения, поэтому надеюсь, что один из вас может помочь.

Один из источников, которые я искал, но нет информации :( http://www.dreamincode.net/forums/topic/102523-call-an-external-function-on-button-click/

надеюсь, ты сможешь помочь.

Ответы [ 4 ]

4 голосов
/ 01 февраля 2011

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

К сожалению, нет магического атрибута для достижения этого.

[Редактировать] Я также хотел бы добавить, что вы меня будьте осторожны. Когда вы используете некоторые механизмы удаленного взаимодействия (remoting, WCF, rpc и т. Д.), Вы работаете с «прокси». Прокси-объект - это объект, который имитирует реальный объект, но инкапсулирует связь. Это позволяет разработчику скрывать сложность, имея объекты, свойства, методы и т. Д., Но технологии, лежащие в основе (обмен сообщениями xml для службы WCF, например), должны быть известны разработчику. Это может оказать влияние на сеть, отзывчивость, а также на модель программирования.

3 голосов
/ 01 февраля 2011

Этот тип операций предназначен для веб-служб / служб WCF / удаленного взаимодействия. WCF - действительно хорошее решение для связи через границы. Загляните в WCF, Google - ваш друг.

0 голосов
/ 01 февраля 2011

Если внешняя сборка находится в общей папке на удаленном компьютере, вы можете выполнить одно из следующих действий:

1) Реализовать обработчик событий AppDomain.CurrentDomain.AssemblyResolve для загрузки внешней сборки и выполнить командузвонки, которые вам нужно сделать.Также кстати поместите ссылку на сборку в вашем проекте (copylocal = false).Первый вызов экземпляра класса или статического метода в сборке вызовет обработчик событий и загрузит удаленную внешнюю сборку.

2) Загрузите сборку с помощью отражения, используя System.Reflection.Assembly.LoadFrom(), и укажите удаленный путь.Используйте рефлексию для вызова нужного метода и т. Д.

0 голосов
/ 01 февраля 2011
...