Segmentar processos de trabalho do IIS na solicitação

Ok, estranha configuração, pergunta estranha. Temos um cliente e um aplicativo da Web Admin para nosso aplicativo SaaS, executado no asp.net-2.0/iis-6. O aplicativo Admin pode alterar as opções exibidas no aplicativo Cliente. Quando essas opções são salvas no Admin, chamamos um Webservice no Cliente, do Admin, para liberar nosso cache das opções dessa conta específica.

Recently we started giving our Client application >1 Worker Processes, thus causing the cache of options to only be cleared on 1 of the currently running Worker Processes.

Então, obviamente, tenho outras maneiras de corrigir esse problema (no entanto, a entrada é apreciada), mas minha pergunta é: existe alguma maneira de segmentar/iterar por cada Processo de Trabalho por meio de uma solicitação da web?

3

2 Respostas

Eu estou fazendo algumas suposições aqui para esta resposta ....

  1. Estou assumindo que o aplicativo cliente está usando uma das classes de cache do .NET para armazenar as opções do seu aplicativo?

  2. Quando você diz "flush", quer dizer, "flush" de volta para um arquivo de configuração ou tabela de banco de dados?

Como os objetos e dados de cache não serão compartilhados entre processos, é necessário um mecanismo para sinalizar ao código em execução no outro processo de trabalho que ele precisa reler suas opções em seu cache ou forçar o processo a ser reiniciado (o que não é exatamente conveniente e provavelmente indesejável).

Se você não tem acesso à fonte do cliente para modificar para assistir o arquivo de configuração de opções ou a tabela de banco de dados (por exemplo, usando um SqlCacheDependency), acho que você está meio preso a esse comportamento.

0
adicionado

Eu tenho acesso total ao administrador e cliente, por cache, quero dizer objeto Cache do .net. Por flush, quero dizer remover o item do objeto Cache.

Estou ciente de que os dois processos de trabalho não compartilham os dados do cache. Esse é o meu enigma)

O sistema é como é remover a necessidade de acessar o sql a cada nova sessão que chega. Então, estou tentando encontrar uma solução que possa dizer a cada processo de trabalho que o cache precisa ser limpo sem obter o SQL. envolvido.

0
adicionado