Что происходит с сеансом пользователя, когда я публикую свое приложение C # MVC из Visual Studio?

#c# #asp.net-mvc #session #iis #caching

#c# #asp.net-mvc #сеанс #iis #кэширование

Вопрос:

У меня есть приложение C # MVC, я публикую его во внешней хостинговой компании, если, скажем, 10 пользователей вошли в приложение, что происходит с их сеансами?

Я заметил, что со мной произойдет, если я захожу в приложение для входа после публикации, кажется, что оно регистрирует меня, однако я использую язык привязки на стороне клиента, называемый Knockout, и поэтому он показывает мне пользовательский интерфейс, однако на самом деле он не загрузил данные обратно с сервера. Похоже, что я вошел в систему, но если я нажму F5 для обновления, то я выйду из системы, как будто сеанс кэшируется или что-то в этом роде, но неправильно.

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

Комментарии:

1. итак, что я пытался сделать, это использовать параметр публикации «удалить все существующие файлы перед публикацией», это полностью удаляет приложение, как и следовало ожидать, но я все равно получаю ту же проблему, я могу войти в старый сеанс, я нажал F5, вышел из системы и должен снова войти в систему — я думаю, чтоединственное реальное решение этой проблемы — перезапустить IIS. Разве у кого-нибудь есть какие-либо идеи? 🙁

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

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

4. У нас есть административная часть на сайте, поэтому после завершения публикации я хочу вызвать что-то вроде сеанса. Abandon() — попытается выполнить это и обновит, если это сработает..