Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 177

Как в коде не допустить запуск той-же Web-Application дважды?

02.10.2011, 17:03. Показов 1815. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как в коде не допустить запуск одной и той-же Web-Application на одном и том же компьютере?

Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.10.2011, 17:03
Ответы с готовыми решениями:

Как не допустить действие с одного и того же пользовательского компьютера дважды?
Скажем, я хочу организовать голосование по какой-то странице. Как сделать, чтобы пользователь не мог <STRONG>дважды</STRONG>...

Можно ли добавить Desktop Application на Web Application?
Доброе время суток! У меня такой вопрос можно ли добавит Desktop aplication на Web aplication. Я хотел добавить JIDE Desktop Application тут

как отлаживать Web Application? И во-вторых ...
У меня окно разделено на два фрейма. В одном сообщения гостевой, в другом - форма для заполнения. примерно так : идет ссылка <a...

10
0 / 0 / 0
Регистрация: 14.11.2010
Сообщений: 67
02.10.2011, 17:49
Вопрос: зачем?
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
02.10.2011, 18:28
Не могу понять зачем это может понадобиться, но решения можно найти
- Обернуть вызов веб-приложения в программу windows-forms и сделать проверку уже в этой программе нет ли попытки запуски копии. Чтобы пользователь не смог открыть ссылку в своем браузере сделать схему предварительной аутентификации.
- Открывать веб-приложение скриптом в модальном окне. Опять же не показывать настоящий адрес. Но тут непонятно как защитить от повторного запуска
- Сделать hta файл (работающий только в MSIE) и в его свойствах запретить запуск нескольких копий.
0
evgenybe
03.10.2011, 21:10
Объясняю почему:
Скажем, на одном и том же компьютере открыто две аппликации. Глупый юзер удалил какую-то запись в БД. А на странице второй аппликации, эти записи еще вроде как существуют. У юзера память короткая и он начинает их снова удалять, или производить какие-то другие операции. Получает сообщения аппликации и начинает жаловаться, что программисты сдали в эксплуатацию недоработанную версию. Начальство, не разобравшись, начинает 'рубить сплеча'. А иногда и 'с плеч'.
Вот чтобы этого не происходило нам надо запретить подобный запуск аппликации.
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
04.10.2011, 10:07
Значит надо делать нормальную проверку на ошибочные ситуации. Например, есть ли в БД запись которую хотим редактировать или удалять.
0
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 177
04.10.2011, 10:37  [ТС]

Предположим юзверь получает 'грамотное' сообщение - 'Заказчика с таким адресом в БД не существует, выберите другого заказчика'.
Еще более 'грамотный' юзверь начинает плевать на экран 'Как так не существует!!!' нажимает в верхнем левом углу кнопку <-Back делает PrintScreen и посылает картинки начальству с жалобой на аппликацию и безответственных разработчиков.
0
pl
51 / 17 / 6
Регистрация: 18.05.2007
Сообщений: 1,322
04.10.2011, 10:56
При запуске каждого приложения увеличивай счетчик в базе, при закрытии уменьшай, выводи счетчик на странице, чтобы пользователи видели, что с данными работает не один человек. Соответственно в тексте ошибок указывай, что запись могла быть удалена другим пользователем.
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
04.10.2011, 13:17
> Еще более 'грамотный' юзверь начинает плевать на экран
> 'Как так не существует!!!' нажимает в верхнем левом углу кнопку
> <-Back делает PrintScreen и посылает картинки начальству с
> жалобой на аппликацию и безответственных разработчиков
Нажав кнопку 'назад' человек должен получить свежую страницу где этой записи уже не будет. Для этого надо сделать чтобы браузер не кешировал страницы вашего приложения.

В обработчике события Application_BeginRequest (global.asax) пишем
C#
1
2
3
Response.Cache.SetExpires(DateTime.Now.AddMonths(-1));
Response.Cache.SetCacheability(HttpCacheability.Server);
Response.Cache.SetNoStore();
0
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 177
05.10.2011, 11:32  [ТС]
Согласен!
Но отключение кэширования - только часть проблемы. Во-первых, юзверь - очень хитрый зверь, еще чем-то останется недоволен.
А во-вторых (я сталкивался с этим, и на самом деле это гораздо более важная причина)когда на одном компе запущены две аппликации, они начинают работать как-то 'криво'. Объяснить я это не могу, и потому мое единственное решение - запретить запуск двух веб-аппликаций.
0
0 / 0 / 1
Регистрация: 30.07.2007
Сообщений: 257
06.10.2011, 23:14
А может проще обьяснить принципы работы веб приложений заказчикам.
0
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 177
08.10.2011, 11:42  [ТС]
Заказчику объяснить трудно, но возможно.
А вот массе юзеров - ну никак! И заказчик это понимает. Потому-то и требует принять меры безопасности.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.10.2011, 11:42
Помогаю со студенческими работами здесь

Web-интерфейс как realtime application
Я понимаю, что реалтайма на Web-интерфейсе не добиться, но какие возможны методы макимального сближения этих двух понятий?

Как создать справочную систему для web-application
Приветствую всех! У меня возникла задача создания справочной системы для динамической веб апликации, чтобы открывалась она (справочная...

Обращение к Web-камере пользователя в Web-Application.
У пользователей Web-аппликации (которую мы разрабатываем) имеются Web-камеры. Пользователь нажимает какую-то кнопку в Аппликации и она...

Как в Web Application по нажатию кнопки передать все элементы страницы
Всем привет, с ASP.NET Web Application знаком недавно, и возникла проблема, на форме есть много елементом, и нужно по нажатию кнопки...

Как задеплоить WAR на субдомен через Tomcat Web Application Manager?
Добрый день. Есть вдс-вервер site.ru, на нем создан поддомен sub.site.ru - поддомен можно открывать в браузере, там заглушка html. Так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru