Há algum problema em usar variáveis ​​estáticas para armazenar informações em cache no ASP.net?

No momento, estou trabalhando em um aplicativo de administração de projeto no C # 3.5 no ASP.net. A fim de reduzir os acessos ao banco de dados, estou fazendo o cache de muitas informações usando variáveis ​​estáticas. Por exemplo, uma lista de usuários é mantida na memória em uma classe estática. A classe lê todas as informações do banco de dados na inicialização e atualizará o banco de dados sempre que forem feitas alterações, mas nunca precisará ler a partir da base de dados.

A classe pula outros servidores da Web (se existirem) com informações atualizadas ao mesmo tempo que uma gravação no banco de dados. O mecanismo de ping é um serviço do Windows ao qual o objeto de cache se registra usando uma porta disponível aleatória. É usado para outras coisas também.

A quantidade de dados não é tão boa assim. No momento eu estou usando apenas para armazenar em cache os usuários (hashes de senha, permissões, nome, e-mail, etc) Ele apenas salva uma pilha de chamadas feitas para o banco de dados.

Eu queria saber se há alguma armadilha para este método e / ou se há melhores maneiras de armazenar os dados em cache?

questionAnswers(5)

yourAnswerToTheQuestion