Целевые рабочие процессы IIS по запросу - PullRequest
3 голосов
/ 14 октября 2008

Ок, странная настройка, странный вопрос. У нас есть клиентское и административное веб-приложение для нашего приложения SaaS, работающее на asp.net-2.0 / iis-6. Приложение Admin может изменять параметры, отображаемые в клиентском приложении. Когда эти параметры сохраняются в Admin, мы вызываем Webservice на клиенте от Admin, чтобы очистить наш кэш параметров для этой конкретной учетной записи.

Недавно мы начали предоставлять нашему клиентскому приложению> 1 рабочих процессов, в результате чего кэш опций очищался только в 1 из работающих в данный момент рабочих процессов.

Итак, у меня, очевидно, есть и другие способы решения этой проблемы (хотя входные данные приветствуются), но мой вопрос: есть ли способ нацеливания / итерации по каждому рабочему процессу через веб-запрос? 1007 *

Ответы [ 2 ]

0 голосов
/ 14 октября 2008

У меня есть полный доступ к администратору и клиенту, по кешу я имею в виду объект .net Cache. Под очисткой я подразумеваю удаление элемента из объекта Cache.

Мне известно, что оба рабочих процесса не разделяют данные кэша. Это своего рода загадка)

Система - это способ избавить от необходимости нажимать sql при каждом новом входящем сеансе. Поэтому я пытаюсь найти решение, которое может просто сказать каждому рабочему процессу, что кэш должен быть очищен о привлечении sql.

0 голосов
/ 14 октября 2008

Я делаю некоторые предположения здесь для этого ответа ....

  1. Я предполагаю, что клиентское приложение использует один из классов кэширования .NET для хранения параметров вашего приложения?

  2. Когда вы говорите «сбросить», вы имеете в виду сбросить их обратно в файл конфигурации или таблицу базы данных?

Поскольку объекты и данные кэша не будут разделены между процессами, вам нужен механизм, чтобы сигнализировать коду, выполняющемуся на другом рабочем процессе, что он должен перечитать свои параметры в свой кэш или принудительно перезапустить процесс ( что не совсем удобно и, скорее всего, нежелательно).

Если у вас нет доступа к исходному коду клиента, который можно изменить для просмотра файла конфигурации опций или таблицы БД (скажем, с помощью SqlCacheDependency), я думаю, вы немного застряли в этом поведении.

...