Одноранговый сервер состояний ASP.NET - Установка

ОГЛАВЛЕНИЕ

 

Установка

Чтобы скомпилировать и установить сервер состояний:

  1. Скачайте файл с исходным кодом.
  2. Откройте решение в visual studio. (Visual Studio 2008 откроет “Мастер” преобразования. Выполните “Мастер”.)

    Сервер состояний появляется в двух видах. Один работает как консольное приложение, а другой работает как служба windows. Проект StateService компилируется как служба windows и может быть установлен и удален с помощью файлов install_service.bat и uninstall_service.bat. Проект ConsoleServer запускает службу как консольное приложение, которое намного проще тестировать и отлаживать. Оба проекта разделяют один и тот же исходный код и функционируют одинаково.
  3. Откройте окно свойств для проекта, который вы хотите скомпоновать.
  4. a. При использовании Visual Studio 2005 добавьте NET20 в поле символов условной компиляции вкладки “Компоновка”.
    b. При использовании Visual Studio 2008 выберите .NET Framework 3.5 в поле “Целевой каркас” вкладки “Приложение”.
  5. Скомпонуйте проект.
  6. Если вы скомпоновали проект StateService, перейдите в выходную папку и запустите install_service.bat, чтобы установить службу.
  7. Если на вашем компьютере уже работает служба состояний Microsoft, остановите ее.
  8. Если вы скомпоновали и установили службу windows, запустите “Одноранговая служба состояний” в списке Службы. Если вы скомпоновали консольный сервер, запустите ConsoleServer.exe или просто запустите отладку из Visual Studio.
  9. Теперь вы можете тестировать и запускать любые имеющиеся у вас веб-приложения с помощью работающего сервера состояний.

Чтобы добавить одноранговые серверы:

  1. Скопируйте скомпилированный исполняемый файл и файл конфигурации приложения на другой компьютер в вашей сети.
  2. Откройте файл конфигурации и добавьте новый одноранговый узел сети в раздел <Peers(одноранговые узлы сети)>. Например, чтобы настроить сервер состояний для подключения к другому серверу состояний, работающему на компьютере по имени SV3 с номером однорангового порта 42425, добавьте <add key="MyPeer"value="pc2:42425"/>в раздел <Peers>.
  3. Вы можете запустить сервер состояний на компьютере, и он соединится с другим сервером(ами) состояний в сети.
  4. Установка сети в любой нужной вам топологии остается на ваше усмотрение. Например, рассмотрим сеть из трех серверов состояний, показанную ниже, каждый сервер состояний на каждом компьютере будет иметь показанную ниже конфигурацию:

Вы можете запустить несколько одноранговых консольных серверов на одном компьютере, но каждый консольный сервер должен иметь уникальный установленный порт веб-сервера и одноранговый порт.

Как работает сервер состояний

Microsoft предоставляет сервер состояний, работающий, как показано ниже.

Одноранговый сервер состояний работает точно так, как показано выше, за исключением случаев, когда сервер состояний не имеет запрошенного состояния сеанса, в случае чего он запрашивает состояние сеанса из сети перед тем, как ответить, как показано ниже:

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