Отправить класс, а не просто интерфейс класса, между серверами? - PullRequest
1 голос
/ 15 сентября 2009

Я создаю сеточное приложение, которое требует от меня отправки пакетов программного обеспечения, которые обертывают класс, в участвующие узлы в моей сетке.

Первой идеей, которую я придумал, было подключение главных узлов к каждому узлу (работающему в службе Windows) и отправка сборки, содержащей класс, который привязан к общему интерфейсу, вместе с файлом .config, содержащим, в общем, конфигурацию информация.

Есть ли лучший способ сделать это? Помимо дискуссии о том, должно ли это быть толчком или подтягиванием, каков наилучший способ получить эффективное обновление программного обеспечения? Было бы замечательно, если бы я мог использовать что-то похожее на службу WCF, вызываемую клиентскими узлами, но это, конечно, оставило бы реальную обработку на главном узле, что эффективно разгруппировало бы мой кластер.

Ответы [ 2 ]

1 голос
/ 15 сентября 2009

Вы можете отправлять байты сборки и загружать их непосредственно во время выполнения. Это хорошо работает для управляемого кода. Я не знаю лучшего способа сделать это. И да, используйте модель push:)

0 голосов
/ 15 сентября 2009

Это похоже на правильный подход. По сути, так работает большинство моделей плагинов .NET.

Единственный другой подход, который я могу придумать, - отправлять файлы сценариев туда и обратно. Вы могли бы сделать свой собственный DSL, но я думаю, что это было бы излишним. Использовать что-то вроде Iron Ruby или Iron Python было бы намного проще, а также намного мощнее. Еще одна мысль - отправить сценарии PowerShell.

Я никогда не пробовал этого, но также можно отправлять файлы C # или VB туда и обратно, а затем компилировать их, когда они должны быть запущены. Однако я вижу небольшое преимущество в этом по сравнению с двумя предыдущими предложениями.

...