Como obter a lista de chaves de estado da sessão ASP.NET apoiados por servidor SQL?

StackOverflow https://stackoverflow.com/questions/153912

  •  03-07-2019
  •  | 
  •  

Pergunta

Eu estou procurando uma boa maneira de visualizar os dados de estado de sessão ASP.NET armazenadas no servidor SQL, de preferência sem criar uma página descartável .aspx. Existe uma boa maneira de obter uma lista das chaves (e dados serializados, se possível) diretamente do servidor SQL?

Idealmente, eu gostaria de executar alguns comandos T-SQL diretamente no banco de dados para obter uma lista de chaves de sessão que foram armazenados para um determinado ID da sessão. Seria bom para ver os dados serializados para cada chave também.

Foi útil?

Solução

Você pode elaborar um pouco, que não há referência a um HttpContext disponível (Você pode usar isso a partir do código de back-end, bem FYI), que o impede de utilizar o construído em serialização e chaves de dicionário?

EDIT, em resposta a sua atualização. Eu acredito que o banco de dados ASPState cria e destrói tabelas temporárias, conforme necessário, ele não tem tabelas permanentes você pode consultar, dê uma olhada os procedimentos armazenados e você deve encontrar um ao longo das linhas de "TempGetItem", você pode usar este sproc diretamente ou examinar a sua fonte para mais insight.

Outras dicas

Quando você executar o aplicativo asp.net com o modo de sessão do SQL Server, ele cria duas tabelas, dbo.ASPStateTempApplications e dbo.ASPStateTempSessions. Você pode encontrar a sua aplicação a partir da primeira mesa e usá-lo para consulta sessões abertas de segunda tabela. A tabela ASPStateTempSessions armazena duas colunas SessionDataShort e SessionDataLong. Todas as informações sessão é binário. Você precisa saber os tipos de objetos sendo armazenados em sessão se você quiser desserializar-los de volta e ver o conteúdo.

Eu tentei isso recentemente e ele funciona muito bem. De fato, para uma aplicação complexa vale a pena ter algumas ferramentas para visualizar e dados da sessão de análise para se certificar de que nós não armazenar objetos indesejados e deixá-lo no banco de dados por muito tempo - que tem potencial de abrandar as coisas

.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top