1с текущему соединению не назначен сеанс. Повышение производительности веб-сервисов

Параметры сеансы 1С 8.3 — переменная, в которой хранится значение нужного параметра на время сеанса пользователя. По сути, это некая глобальная переменная, привязанная к сеансу текущего пользователя.

Использование параметров сеанса в 1С

Параметры сеанса задаются только программно, универсального интерфейса для установки параметров сеанса в системе нет. Обычно они задаются при старте системы, в «Модуле сеанса». Если параметр не определен, во время обращения к нему будет вызвана ошибка.

Пример установки параметра сеанса 1С

Рассмотрим типичный пример использования параметров сеанса — установку текущего пользователя. Пример я возьму из подготовки к .

В древе метаданных создадим новый параметр сеанса — ТекущийПользователь, назначим ему тип — СправочникСсылка.ФизическиеЛица:

Получите 267 видеоуроков по 1С бесплатно:

В модуле сеанса создадим процедуру, в которой будет определяться текущий параметр сеанса:

Код процедуры:

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры) //ищем физ. лицо по имени пользователя ТекПользователь = Справочники. ФизическиеЛица. НайтиПоНаименованию(ИмяПользователя() ) ; //если не нашли - создадим нового Если ТекПользователь. Пустая() Тогда НовПользователь = Справочники. ФизическиеЛица. СоздатьЭлемент() ; НовПользователь. Наименование = ИмяПользователя() ; НовПользователь. Записать() ; ТекПользователь = НовПользователь. Ссылка; КонецЕсли ; //присваиваем параметру сеанса ТекущийПользователь ссылку на справочник физ.лиц ПараметрыСеанса. ТекущийПользователь = ТекПользователь; КонецПроцедуры

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

  • Обновление информационной базы;
  • Добавление нового объекта метаданных в конфигурацию;
  • Проведение профилактических и ремонтных работ на сервере;
  • Зависший сеанс пользователя, препятствующий повторному запуску приложения.

В этой статье мы постараемся рассказать, как завершить сеанс пользователя, какие инструменты для выполнения этой задачи есть в арсенале администратора, какие варианты завершения предусматривает файловый, а какие клиент-серверный вариант работы 1С.

Важно помнить, что при принудительном завершении сеанса возможна потеря данных. Так что для исключения неприятных ситуаций желательно заранее предупредить пользователей об отключении.

Закрытие сеансов из конфигуратора

Когда в структуру базы данных вносятся изменения, обновление конфигурации в динамическом режиме становится недоступно. И на экране появляется информационное окно (Рис.1).

Последовательность действий в этом случае очевидна:

  1. Необходимо нажать кнопку «Завершить сеансы и повторить»;
  2. Дождаться окна рестуктуризации базы;
  3. Нажать «ОК».

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

Завершение сеансов непосредственно из программы

Большинство стандартных продуктов фирмы 1С восьмой версии имеют в своем наборе механизм, позволяющий без особого труда удаленно завершить работу пользователя, и обеспечить администратору монопольный доступ к базе. Это обработка «Блокировка соединений с информационной базой».

Найти ее можно по одному из двух адресов:

  1. В одном из подменю раздела «Сервис»;
  2. Зайдя в раздел Операции->Обработки.

Рис.2

Внешний вид обработки представлен на Рис.2.

Особенности данной обработки:

  1. Установка и снятие флажка, и нажатие кнопки «Записать» включает и выключает блокировку пользователей, удаляя сеансы и препятствуя созданию новых подключений;
  2. Время окончания блокировки не может быть пустым или меньше времени её начала;
  3. В случае, когда задан параметр «Код разрешения», его можно прописать в строку запуска, для игнорирования блокировки, перед кодом указав «/UC»;
  4. Если «Код разрешения» не указать, то до истечения срока блокировки попасть в базу будет проблематично (в файловом варианте работы можно попробовать из папки базы удалить файл 1CVcdn);
  5. Если вместо параметра «/UС» и пароля через пробел указать «/CРазрешитьРаботуПользователей», где С – латинская, можно полностью отключить блокировку для всех пользователей;
  6. Нажатие кнопки «Активные пользователи, вызывает окно с полным списком пользователей (рис.3), откуда можно открыть «Журнал регистрации» или завершить сеанс каждого конкретного пользователя.

Рис.3

Два вышеизложенных варианта прекрасно работают как в файловом, так и в клиент-серверном режиме. Дальше мы будем рассматривать случаи характерные только для серверной работы.

Удаление пользователей из rdp

Важно помнить, что отключение сеансов пользователей с серверов возможно только при наличии определенных прав на это действие.

При работе с удаленного рабочего стола, завершить сеансы пользователей можно воспользовавшись стандартным диспетчером задач. Простое прерывание сеансов — немного неправильный, но достаточно действенный способ.

Второй вариант использование диспетчера задач – удаленное подключение с возможностью управления к каждому конкретному сеансу и осуществление выхода из программы по всем правилам. Этот способ долгий, и никто не гарантирует, что пока выполняется выход одного пользователя, не будет осуществлен запуск программы каким-либо другим работником.

Удаление пользователей через консоль сервера

Обладая правами Администратора для кластера серверов 1С, необходимо:


Очень часто при работе в серверном режиме зависшие сеансы пользователей не видны средствами платформы, их возможно удалить только через консоль.

Самый радикальный способ прерывания сеансов

Ситуация, когда вышеописанные способы не сработали, случается крайне редко. Но в случае ее возникновения есть еще один радикальный способ прервать соединения с базой: физическая перезагрузка сервера.

Безусловно, пользователи, не успевшие закончить работу и сохранить данные, будут крайне возмущены таким беспардонным отношением, однако это быстро и это крайне эффективно.

При нештатном завершении клиентского приложения (обрыв связи или закрытие окна бразуера) клиентские лицензии «1С: Предприятие 8» могут блокироваться.

Освободить заблокированные клиентские лицензии можно перезагрузкой ПК.

При нештатном завершении клиентского приложения сеанс удерживается еще 20 минут. После этого в версиях до 8.3.5 сеанс удалялся. С версии 8.3.5 сеанс засыпает в в спящем состоянии по умолчанию удерживается еще сутки. Спящий сеанс не занимает клиентскую лицензию «1С: Предприятие 8».

В версии 8.3.5 время засыпания сеанса и время удаления неиспользуемого спящего сеанса можно изменить с помощью специальной или в Конфигураторе 1С в диалоге Администрирование/ Параметры информационной базы, установив рекомендуемые параметры спящего сеанса:

  • время засыпания пассивных сеансов — 300
  • время завершения спящих сеансов — 10

Кстати, кто спит, а кто активен всегда можно посмотреть через консоль сервера на закладке сеансов. В соответствующей колонке «Спящий» есть признак Да/Нет.

Штатно (по версии фирмы 1С) завершить работу в веб-клиенте можно командой «Файл»-«Выход». С версии 8.3.8 добавили команду завершения работы в заголовок приложения, рядом с кнопкой О программе . Она отображается в виде гиперссылки с именем текущего пользователя.При нажатии на гиперссылку открывается диалог с именем пользователя и командой Завершить работу .

Платформа каждые 5 секунд делает пинги клиетом сервер 1С (видны пакеты по 4 байта). На основании «пингов» сервер отслеживает целостность соединения с клиентским приложением. Отсутствие пингов в течение примерно 2 минут серввер интерпретирует как разрыв соединения.

Реализовано в версии 8.3.9.1818.

В версии 8.3.9 мы выполнили значительное количество задач по оптимизации разных механизмов платформы. Здесь хочется рассказать об одной из них. Это повышение производительности веб-сервисов .

Переиспользование сеансов

Недостаточная производительность веб-сервисов объяснялась тем, что каждый вызов веб-сервиса имел значительные накладные расходы на создание и завершение сеанса. Причём при создании каждый раз выполнялся обработчик УстановкаПараметровСеанса(), который в типовой конфигурации может быть довольно «тяжёлым».

Кроме этого существовал и функциональный недостаток. Веб-сервисы не обладали состоянием. Это не позволяло реализовывать логику, использующую сохранение состояния между вызовами веб-сервиса.

В версии 8.3.9 мы доработали механизм веб-сервисов (SOAP-сервисы, HTTP-сервисы , сервисы OData). В результате их производительность увеличилась примерно в 10 раз.

Мы проводили тесты на типовой конфигурации Бухгалтерия предприятия . В неё мы добавили HTTP-сервисы, выполняющие выборку из справочника Контрагенты. Тест заключался в том, что клиент выполнял последовательно 100 обращений к сервису. В старом режиме работы для этого потребовалось 29,9 с. В новых режимах работы в среднем 3 с.

Этих результатов удалось достичь за счёт того, что мы реализовали две различные стратегии, обеспечивающие переиспользование сеансов:

  • Автоматическое переиспользование сеансов из пула;
  • Управление сеансами с помощью HTTP-заголовков.

При автоматическом переиспользовании сеансов клиент не имеет возможности влиять на количество сеансов и время их жизни. Ему просто автоматически выделяется сеанс из существующего пула сеансов. Такая стратегия подходит для высоконагруженных публичных сервисов, к которым обращаются клиенты, выполняющие шаблонные операции, и обладающие унифицированными привилегиями.

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

Другой пример это получение/помещение файлов в конфигурации Документооборот посредством http-сервисов. Для таких операций можно использовать одного и того же специального пользователя.

Стратегия ручного управления сеансами подразумевает, что клиент самостоятельно управляет количеством сеансов и временем их жизни. Эта стратегия лучше подходит для высокоинтегрированных систем в рамках одной организации. Вы можете реализовать собственный алгоритм, который будет управлять временем жизни сеансов и их количеством.

Средства управления

Необходимость использования одной или другой стратегии вы можете определить в дереве объектов конфигурации, и, при необходимости, переопределить в файле публикации default.vrd. В дереве объектов конфигурации мы добавили два новых свойства объектам Web-сервис и HTTP-сервис :

  • ПовторноеИспользованиеСеансов может принимать значения ИспользоватьАвтоматически, Использовать, НеИспользовать. Значение ИспользоватьАвтоматически включает автоматическое переиспользование сеансов из пула, а значение Использовать включает управление сеансами с помощью HTTP-заголовков.
  • В свойстве ВремяЖизниСеанса вы можете указать, сколько секунд будет бездействовать сеанс до того, как платформа завершит его автоматически.
 
Статьи по теме:
Прошивка телефона, смартфона и планшета ZTE
On this page, you will find the official link to download ZTE Blade L3 Stock Firmware ROM (flash file) on your Computer. Firmware comes in a zip package, which contains Flash File, Flash Tool, USB Driver and How-to Flash Manual. How to FlashStep 1 : Downl
Завис компьютер — какие клавиши нажать на клавиатуре, как перезагрузить или выключить
F1- вызывает «справку» Windows или окно помощи активной программы. В Microsoft Word комбинация клавиш Shift+F1 показывает форматирование текста; F2- переименовывает выделенный объект на рабочем столе или в окне проводника; F3- открывает окно поиска файла
ISBN, УДК, ББК, штриховые коды, выходные данные
Для публикации работы (статьи, книги, диссертации) автору необходимо указать тематический раздел (индекс) существующих классификаций, к которому эта работа относится, и авторский знак. Классификационные индексы издания – это индексы УДК,ББК и ГРНТИ. УДК –
Скачать клавиатурный тренажер для детей на русском бесплатно
Основные возможности уникальный альтернативный вариант для расположения рук на клавиатуре; поддержка различных раскладок и языков; звуковые эффекты для музыкального сопровождения работы; специальные уроки, которые помогают запоминать расположение клави