Управление на сесии Microsoft Dynamics NAV, Navision - технологията като изкуство

Представете си, че имате 10 потребители. Купихте 12 сесии (две допълнителни само в случай на пожар). Но вашите потребители винаги отварят няколко сесии.

Или например така: имате 100 потребителя, но в системата работят едновременно само 40. Купувате 45 сесии (5 за всеки пожарникар). НО - вашите служители просто не изключват компютрите си или, напускайки дома си, не затваряйте програмата.

И в двата случая постоянно ще получавате оплаквания от потребители, които не могат да влязат.

Има много начини да избегнете подобни проблеми. Например, убийте сесиите ръчно или отидете на компютъра и затворете сесията. Или помолете хората да затворят програмата. Или ... убивайте (не хора, а сесии, разбира се) автоматично с помощта на Navision Application Server.

Програмата работи както с базата данни Navision, така и с базата данни SQL, като се започне от версия на клиента 4.0 (клиентът трябва да може да убива сесии чрез изтриване на запис от списъка със сесии).

Всеки клиентски лиценз (поне аз така мисля) включва лиценз за NAS сесия. Защо не го използвате?

Инсталирането на NAS е извън обхвата на тази статия. Освен това има отлични инструкции по тази тема с подробни обяснения на Как да инсталирате NAV сървър за приложения (NAS)?

Можете да се свържете с всяка компания, при условие че потребителят на NAS има достатъчно права за изтриване на сесии.

Ще ви дам един съвет за инсталиране на sessionkiller:

В първата кодова единица трябва да добавите следния код към функцията NASHandler ( >

Ако вече имате работещ сървър за приложения, можете да добавите sessionkiller към този сървър, като добавите параметъра "SESSIONKILLER" към опциите за стартиране.

Microsoft

Формата работи на таблица 80000: „СесияKiller Setup” и съдържа 2 подформуляра.

Когато променяте настройките, когато САЩ работят, понякога се появява грешка, че „Записът е променен от друг потребител“. Това се дължи на факта, че CA актуализира едно от полетата в таблицата за настройка, когато проверява за сесии.

Полета в горния ляв ъгъл на формата:

„Не. На лицензирани потребителски сесии”

Броят на лицензираните сесии. Когато това поле е 0, формулярът го взема от текущия лиценз, но можете да го зададете ръчно. В някои ситуации е полезно да намалите този брой, така че винаги да има безплатни сесии за влизане на нови потребители, преди да бъде извършена следващата проверка.

„Лиценз за база данни“

Ако имате няколко Navision бази данни (отнася се само за MS SQL!), трябва да посочите вида на лиценза - за база данни или за сървър. Ако имате 5 DB лиценза, сесиите, свързани с други DB, НЕ ТРЯБВА да се отчитат от NAS, управляващ тази конкретна DB. В случай, че искате да управлявате всички бази данни, имате нужда от NAS за всяка база данни.

В случай, че имате лиценз за т.нар. "serverlevel", един NAS на всяка база данни е достатъчен, за да управлява всички бази данни наведнъж.

„Проверка на всеки N секунди“

Този параметър задава честотата на проверките на сесиите от сървъра в секунди. Ако някои функции вече се изпълняват на сървъра, честотата на проверката трябва да се намали в зависимост от работата на други функции на сървъра.

„Незадължителна сесия за спиране (мин.)“

Ако една сесия е неактивна по-дълго от този параметър (в минути), тя трябва да бъде убита, но само ако няма повече безплатни сесии (

„Винаги спирай сесията (мин.)“

Ако една сесия е неактивна за повече от стойността на този параметър, тя ТРЯБВА да бъде убита, дори ако има свободнисесии.

„Защит. Макс. Сесии на потребител”

Тази настройка определя броя на сесиите по подразбиране, които потребителят може да отвори едновременно. 0 означава, че няма ограничения. Вижте също „Полета в горния десен подформуляр“.

„Текущ номер на сесиите”

Текущият брой използвани сесии.

„Последна проверка“

Дата и час на последната проверка на сесията.

Полета в горния десен подформуляр:

В тази форма можете да зададете изключения за „Def. Макс. Сесии на потребител“

„Потребителски идентификатор на Navision“

Потребителски идентификатор, за който се хвърля изключение

„Максимален брой сесии на потребител“

Максималният брой едновременни сесии за този потребител.

Трябва да зададете правило - всеки потребител може да има само една сесия в даден момент. В допълнение към суперпотребителите, те имат неограничен брой сесии.

Дефинирате по подразбиране = 1 и създавате нов запис на подформуляр за всеки суперпотребител и задавате полето „Максимален брой сесии на потребител“ на нула.

Този подформуляр показва данни от таблицата със сесии, филтрирани по време на неактивност, за да покаже само сесии, които са били неактивни поне 2 минути и (разбира се) само клиенти на Navision. Филтрите могат да се сменят.

Суперпотребителят може, разбира се, да изтрие сесиите ръчно.

Изходният код на SessionKiller може да бъде изтеглен тук.

В областта на Navision - от 2003г. Професионални интереси: NAV, MS SQL, .NET, BPMN, ИТ мениджмънт. Предметна област: логистика, финанси, складове, 3PL.