рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Создание сервера

Создание сервера - Лабораторная Работа, раздел Образование, По специальному курсу Распределенные системы и алгоритмы Теперь, Когда Мы Создали Объект, Нам Требуется Поместить Этот Объект На Нашем...

Теперь, когда мы создали объект, нам требуется поместить этот объект на нашем сервере. Объект удаленного доступа требует наличия сервера, который предоставляет этот объект через порт клиентам. Каждый объект удаленного доступа должен быть опубликован на хосте сервера. Хостом может быть IIS, служба Windows или самостоятельно реализованный хост. Для простоты мы создадим наш собственный хост для публикации этого объекта удаленного доступа.

using System;

using System.Collections.Generic;

using System.Text;

using System.Runtime.Remoting;

 

namespace Server

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Server started.");

RemotingConfiguration.Configure("server.exe.config");

Console.WriteLine("Server is running. Press <Enter> to exit.");

Console.ReadLine();

}

}

}

Перед тем, как мы сможем запустить сервер, мы должны определить объекты удаленного доступа, которые следует опубликовать. Структура удаленного доступа позволяет нам читать конфигурацию из настроечного файла приложения. Мы могли бы «зашить» конфигурацию непосредственное приложение, но в этом случае изменение конфигурации потребовало бы перекомпиляции сервера. Настроечные файлы предлагают гораздо более гибкое решение, чем «зашивание» конфигурации в хост сервера.

Как только настроенный файл создан, мы говорим среде выполнения удаленного доступа получить конфигурацию из этого файла при помощи строки:

RemotingConfiguration.Configure("server.exe.config");

Файл server.exe.config имеет следующий вид:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<system.runtime.remoting>

<application>

<channels>

<channel ref="http" port="8080"/>

</channels>

<service>

<wellknown mode="Singleton" type="Order.Order, Order" objectUri="Order.soap"/>

</service>

</application>

</system.runtime.remoting>

</configuration>

Структура удаленного доступа читает узел < system.runtime.remoting > и настраивает среду выполнения удаленного доступа в соответствии с его содержимым. Этот настроечный файл должен быть размещен в той же директории, где и server.exe.

В файле указывается, какой канал необходимо открыть для объекта. Так как используется канал HTTP, тэг канала задается следующим образом:

<channel ref="http" port="8080"/>

Мы также должны открыть объект, и для этого имеется два типа создания объекта - wellknown и activated. Аналогично объектам СОМ, объекты типа activated могут иметь состояние и их время жизни определяется клиентом. Объекты типа wellknown создаются в процессе сервера и время их жизни определяется сервером.

Имеется два режима объектов wellknown - Singleton и SingleCall. В режиме Singleton создается один объект для обработки всех запросов. Объект сохраняется между запросами клиентов. Объекты SingleCall создаются для каждого запроса переданного клиентом. Каждый раз, когда приходит клиентский запрос, создается новый объект, обслуживается запрос клиента, а затем объект удаляется. Объект Singleton великолепно подходит, если вы хотите совместно использовать общие данные для всех запросов клиентов.

Объекты SingleCall не оставляют следов, так как все созданные объекты уничтожаются при завершении обработки запроса.

Вот иллюстрация использования объекта Singleton:

<wellknown mode="Singleton" type="Order.Order, Order" objectUri="Order.soap"/>

Свойство type говорит среде выполнения удаленного доступа, какой объект должен быть опубликован, и объявляется в формате <тип>, <сборка>. Здесь свойство type говорит, что мы хотим опубликовать объект Order из сборки Order.dll. Чтобы это всё правильно работало, сборка Order.dll должна располагаться там, где среда выполнения сможет ее найти. Мы устанавливаем Order.dll в той же физической директории, что и Server.exe. Заметьте, что расширение .dll сборки не указывается.

Свойство objectUri является идентификатором, под которым наш объект будет опубликован. Так как по одному и тому же каналу и порту может вызываться много различных объектов, мы должны дать каждому объекту уникальный идентификатор, чтобы отличать их друг от друга. Мы даем ему расширение .soap, чтобы указать, что этот объект будет использовать форматер SOAP. Так как форматер SOAP является форматером по умолчанию для канала HTTP, мы не должны указывать форматер в этом настроечном файле.

Теперь, когда мы скомпилировали сервер и создали настроечный файл, мы можем запустить Server, и он будет готов принимать входящие, запросы. Вот пример того, как будет выглядеть процесс сервера после начала его исполнения.

– Конец работы –

Эта тема принадлежит разделу:

По специальному курсу Распределенные системы и алгоритмы

Распределенные системы и алгоритмы Миков А И Замятина Е Б Лабораторные работы должны быть выполнены... Перемещение объектов... После принятия решений о балансировке происходит перемещение объектов среди процессоров для достижения нового баланса...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Создание сервера

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Миков А.И., Замятина Е.Б.
2007 г. Лабораторные работы должны быть выполнены магистрами 1 года обучения, которые изучают курс «Распределенные системы и алгоритмы» и обучаются по специальности 010501,010500 (нап

Оценка загрузки
На этом этапе осуществляется приблизительная оценка загрузки каждого процессора. Полученная информация о загрузке используется в качестве базы данных для процесса балансировки, во-первых, для опред

Инициализация балансировки загрузки
Для продуктивности балансировки необходимо каким-то образом определять момент ее инициализации. Для этого следует: · Определить момент возникновения дисбаланса загрузки.

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

Использование .NET Remoting
.NET Framework Remoting является технологией, на основе которой становится возможным взаимодействие между процессами. Структура удаленного доступа, также называемая .NET Remoting или просто Remotin

MarshalByRefObject
Имеется два способа, которыми клиент может взаимодействовать с объектами, расположенными на сервере. Во-первых, мы можем передавать клиенту ссылку на объект, выполняющийся на сервере. Клиент будет

Форматер
Когда данные передаются между процессами при помощи Remoting или веб-служб, они должны посылаться в формате, понимаемом как клиентом, так и сервером. Существует возможность создать свой собственный

Принципы работы с каналами/форматерами
Комбинация канал/форматер является важным решением, которое мы должны принять при разработке. Использование настроечные файлов позволяет динамически изменять форматер и канал после развертывания пр

Создание объекта с возможностью удаленного доступа
В данной лабораторной работе необходимо создать объект, который будет размещаться на сервере и вызываться клиентом через канал HTTP с использованием форматера канала HTTP по умолчанию (форматера SO

Создание клиента
Теперь, когда сервер установлен нам требуется создать клиента. Создание объекта Order является точно таким же процессом, что и создание локального объекта, за исключением того, что среда выполнения

Использование волнового алгоритма
При передаче сообщений (передача сообщений о загрузке компьютера) в сети с определенной топологией следует воспользоваться волновыми алгоритмами. В нашем случае топология сети – неориентированное д

Алгоритм Финна
Алгоритм Финна – еще один волновой алгоритм, который можно использовать в ориентированных сетях произвольной топологии. Он не требует того, чтобы диаметр сети был известен заранее, но подразумевает

Служба очередей сообщений
MSMQ— это приложение, гарантирующее надежную посылку и получение сообщении. Сообщения могут быть всем, чем угодно, начиная от XML-файлов и заканчивая наборами записей ADO и документами Microsoft Wo

Настройка MSMQ
Перед началом разработки приложения, использующего MSMQ необходимо убедиться, что данная служба установлена на компьютере, так как MSMQ не устанавливается по умолчанию. Проверить доступность компон

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги