none
Session nula em AuthorizeAttribute customizado RRS feed

  • Pergunta

  • Eu tenho uma aplicação asp.net MVC, com framework 4.6, and criei uma classe de atributo herdando de AuthorizeAttribute. Na minha classe sobrescrevi o método AuthorizeCore, e nele acesso a Session para ler algumas informações que autenticação que coloquei previamente lá. Mas às vezes quando tento acessar a Session no método AuthorizeCore ocorre um erro NullReferenceException  porque a propriedade Session está nula no parâmetro httpContextBase.

    O problema é intermitente e ocorre quando há acessos simultâneos. Também reproduzi o problema acessando o meu Action pelo browser e fiquei atualizando a página várias vezes (F5 no browser) e dá o erro.

    Eu percebi que quando a Session está nula, o Handler também está.

    Estou usando a sessão no modo StateServer. Já tentei mudar para InProc e o erro ainda ocorre. Não sei se faz alguma diferença, mas estou utilizando o Ninject MVC.


    segunda-feira, 1 de fevereiro de 2016 13:00

Respostas

  • Eu encontrei a solução do problema. O meu problema estava relacionado ao Cache, removi o OutputCache do meu Action e passou a funcionar.

    Quando o asp.net obtém a página do cache, a propriedade session do AuthorizeAttribute vem sempre nula.

    • Marcado como Resposta Rodrigo Kiguti segunda-feira, 1 de fevereiro de 2016 15:51
    segunda-feira, 1 de fevereiro de 2016 15:51