На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Сортировка карты

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
Сортировка карты, MapSort
 
Здравствуйте!

Отлаживаем программу, возник такой вопрос:
карта открывается с удаленного ГИС Сервера прикладной программой,
если в это же время эту же карту откроет другой пользователь своей прикладной программой
и она вызовет сортировку этой карты

mvMap.MapSort(true,true);
mvMap.Repaint;

может ли быть здесь конфликт?
 
Может. Но не критичный.
ГИС Сервер всегда держит карту в монопольном доступе, то есть физический доступ к карте всегда один.
Клиенты получают доступ в порядке очередности запросов и выполняемых транзакций.
Во время сортировки карта никому из пользователей не доступна для редактирования. После сортировки все клиенты уведомляются о необходимости перечитать карту, так как ее структура изменилась.
Все это реализовано на уровне ГИС-ядра клиента и в коде ГИС Сервера, поэтому для пользователей и даже разработчиков этот механизм прозрачен.
Самое неприятное, что может произойти для пользователя - отказ в операции редактирования, если в данный момент выполняется сортировка на сервере.
При простом просмотре карты пользователь сортировки не заметит.

Однако, следует понимать, что сортировка - это не рядовая операция, а скорее регламентная административная процедура. Поэтому выполнять ее не стоит позволять кому угодно и когда угодно.
 
При каждой загрузки карты проекта эта функция выполнялась каждый раз,
при этом не было гарантии, что в данный момент другой пользователь уже не загрузил прикладной программой эту же карту и что-то с ней делает.
Это проявлялось следующим образом: иногда, редко, Windows 8 просто сообщал, что возникла непредвиденная проблема и выгружал всю программу,
на Windows 10 очень редко выводилось сообщение Out of resurse

Похоже?
 
Цитата
Сергей Викторович написал:
При каждой загрузки карты проекта эта функция выполнялась каждый раз...

То есть каждый пользователь, открывая карту инициирует сортировку? Это чрезмерно!

Цитата
Сергей Викторович написал:
при этом не было гарантии, что в данный момент другой пользователь уже не загрузил прикладной программой эту же карту и что-то с ней делает.

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

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

Цитата
Сергей Викторович написал:
иногда, редко, Windows 8 просто сообщал, что возникла непредвиденная проблема и выгружал всю программу,на Windows 10 очень редко выводилось сообщение Out of resurse

Тут сказать ничего не могу. Необходимо комплексно рассматривать конкретную ситуацию, когда она проявляется, изучать логи ГИС Сервера, проверять сами данные.
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности