1CHServer — внешняя компонента, позволяющая реализовать выполнение кода в другом сеансе 1С Предприятия по запросу клиента

Для чего это нужно!?
Применений может быть несколько, например вывод сообщений пользователю, закрытие сеанса ну или более сложные операции.

Результат, возвращаемый клиенту может быть только тексовым т.к. запрос отправляется при помощи метода Получить() объекта HHTPСоединение

Теперь вместо того, чтобы держать 10-15 постоянных COM-соединений клиент лишь отправляет текст кода для выполнения в сеансе, где создан AddIn.1CHServer и получает ответ.

Работает, конечно, медленнее, чем при могло бы быть через «V8x.ComConnector», но есть и свои преимущества. Например, если надо срочно обновить базу данных, то не надо убивать все COM-сеансы, а достаточно просто остановить на время 1CHServer и обновить БД.

Не рекомендуется выполнять «тяжелый» код на сервере, т.к. это замедлит получение ответа другими клиентами.

ОПИСАНИЕ КОМНОНЕНТЫ

Методы:

  • Запустить(<Порт>) — запуск прослушивания указанного порта;
  • Остановить() — остановка сервера;
  • ВернутьРезультат(<ТекстовыйРезультат>) — возврат результата клиенту (метод обязательно должен вызываться, иначе сервер перестанет принимать входящие запросы от клиентов);

Свойства:

  • Порт — порт на котором работает сервер (только чтение);

В случае ошибки (при работе компоненты или при выполнении кода на сервере) возвращается результат вида: Error: <ОписаниеОшибки>

В коде, выполняемом на сервере, не должно быть комментариев

Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, взять его можно отсюда.

Регистрация компоненты в Windows — запустить reg.bat
Удаление информации о компоненте — запустить unreg.bat
Прилагаются примеры обработок для сервера и для клиента (8.2)
Критика и предложения приветствуются

Скриншоты

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *