Попытка сделать веб-метод асинхронным

Проект, над которым я сейчас работаю, включает в себя MS SQL Server и веб-службы ASP.net, которые используют переменные сеанса. По-видимому, это приводит к тому, что клиентские вызовы выполняются последовательно. Я хочу убедиться, что эти методы выполняются асинхронно.

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

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

Могу я?

1 ответ

Решение

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

Основные советы, чтобы сделать вашу сессию:

  1. У вас есть один файл cookie, связанный с данными пользователя
  2. Данные находятся на одной таблице в вашей базе данных.
  3. Вы создаете настраиваемые поля в этой таблице для каждого сеанса и избегаете использования словаря<>
  4. Вы работаете с Dirty read, последняя запись выигрывает
  5. Вы читаете и пишете только те переменные сеанса, которые вам нужны каждый раз (не все вместе)
  6. В каждой строке указывается дата ожидания, и для удаления старых сеансов используется, как MS, шедулер на SQL.
  7. Загрузить сессию на OnPreInitСохраните только то, что изменили на OnUnload
  8. Чтобы полностью отключить сеанс, вам нужно заблокировать с помощью Mutex код, который теперь работает нормально, потому что сеанс выполняет синхронизацию без уведомления, но без блокировки сеанса может выполняться два раза, как новая вставка в вызовы базы данных.

родственник:

Веб-приложение заблокировано при обработке другого веб-приложения при совместном использовании сеанса
Какие счетчики perfmon полезны для выявления узких мест ASP.NET?
Замена сессии ASP.Net полностью

ответить и на этот вопрос if I configure SQL Server to store the session ? сеанс все еще блокируется и блокирует запрос на отдых. Если у вас есть сеанс на SQL-сервере или на другом носителе, не нужно менять способ работы, только место сохраненных данных.

Другие вопросы по тегам