Страницы

Поиск по вопросам

среда, 20 февраля 2019 г.

Подключение dll файла через интернет

Всем привет! Разрабатываю одну программу (с платной подпиской), хочу сделать так, чтобы программа брала все библиотеки с моего сервера (при отсутствии подписки - библиотеки не должны быть доступны). У меня два вопроса:
Как динамически подключить dll, которая находится на сервере, при запуске программы? Как сделать так, чтобы данные dll были доступны только из моей программы? Чтобы просто так скачать их было нельзя.


Ответ

То, что вы хотите сделать, называется RPC. Другими словами вы отправляете на сервер название функции и её параметры, а в ответ получаете результат выполнения функции.
Самый удобный механизм RPC называется SOAP. Удобен он тем, что сервер предоставляет описание функций в виде WSDL файла, на основе которого может быть сгенерирован код на любом языке. К примеру, если сервер поддерживает, то можно вызвать функцию sumOfTwoNumber(5,6) и она вернёт 11. При этом сгенерированный код сам преобразует функцию и параметры в формат понятный серверу, передаст на сервер и получит от сервера ответ.
Насколько я помню, в C# можно подключать веб-сервисы (человеческое название SOAP) как простые пакеты. Нужно иметь ввиду, что данные между клиентом и сервером передаются в формате XML, из-за чего трафик может быть большим и медленным. А без интернета функции и вовсе работать не смогут.

Комментариев нет:

Отправить комментарий