Tentando tornar o método da Web asynchronous

O projeto no qual estou trabalhando atualmente envolve o MS SQL Server e o ASP.net Web Services que usam variables ​​Session. Aparentemente, isso faz com que as chamadas de um cliente sejam executadas de maneira seqüencial. Eu quero ter certeza de que esses methods sejam executados de forma assíncrona.

Depois de fazer algumas pesquisas, parece-me que o método mais escolhido é manter o estado da session no database usando uma tabela que rastreia as sessões (usando guias) e tabelas separadas para cada session.

Antes de mergulhar diretamente nisso, preciso saber se posso obter o mesmo senso de operações assíncronas para o serviço da Web se eu configurar o SQL Server para armazenar a session.

Eu posso ?

Desculpe dizer isso, mas a única maneira de executar assincronamente seu código e usar variables ​​de session é fazer sua solução de session totalmente personalizada – e quero dizer totalmente customizada e desabilitar totalmente a session do asp.net.

Dicas básicas para fazer sua session:

  1. Você tem um cookie conectado aos dados do usuário
  2. Os dados estão em uma tabela no seu database.
  3. Você cria campos personalizados nessa tabela para cada session e evita o Dicionário <> para mantê-los
  4. Você trabalha com leitura suja, última gravação ganha
  5. Você lê e escreve somente as variables ​​de session que você precisa de cada vez (não todas juntas)
  6. Cada linha tem uma data limite, e usa como MS, um sheduler em SQL para deletar sessões antigas.
  7. Carregar session no OnPreInit , salve somente o que tiver alteração no OnUnload
  8. Ao desativar totalmente a session, você precisa bloquear usando o código Mutex que agora funciona bem porque a session faz a synchronization sem aviso prévio, mas com o bloqueio de session fora talvez execute duas vezes, como nova inserção para chamadas de database.

relativo:

Aplicativo da Web bloqueado durante o processamento de outro aplicativo da Web no compartilhamento da mesma session
Quais contadores de perfmon são úteis para identificar afunilamentos do ASP.NET?
Substituindo a session do ASP.Net completamente

responder a esta pergunta if I configure SQL Server to store the session ? a session ainda está bloqueada e bloqueia a solicitação restante. Se você tiver a session no servidor SQL ou em outro meio não é mudar a maneira de trabalhar, apenas o lugar dos dados salvos.