Книга: C# для профессионалов. Том II

Простой сервер

Простой сервер

Для сервера используется консольное приложение C#. Для применения класса TcpServerChannel необходимо сослаться на сборку System.Runtime.Remoting.dll. Также требуется, чтобы мы ссылались на созданную ранее сборку RemoteHello.dll.

В методе Main() создается объект System.Runtime.Remoting.Channel.Тcр.TcpServerChannel с портом номер 8086. Этот канал регистрируется в классе System.Runtime.Remoting.Channels.ChannelServices, чтобы сделать его доступным для удаленных объектов. Тип удаленного объекта регистрируется с помощью System.Runtime.Remoting.RemotingConfiguration.RegisterWellKnownServiceType. Здесь определяется тип класса в удаленном объекте, используемый клиентом URI, и режим. Режим WellKnownObject.SingleCall означает, что для каждого вызова метода создается новый экземпляр, мы не храним состояние в удаленном объекте.

После регистрации удаленного объекта продолжим выполнение сервера, пока не будет нажата клавиша:

using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
namespace Wrox.ProfessionalCSharp {
 /// <summary>
 /// Краткое описание Class1
 /// </summary>
 public class HelloServer {
  public static void Main(string[] args) {
   TcpServerChannel channel = new TcpServerChannel(8086);
   ChannelServices.RegisterChannel(channel);
   RemotingConfiguration.RegisterWellKnownServiceType(
    typeof(Hello), "Hi", WellKnownObjectMode.SingleCall);
   System.Console.WriteLine("hit to exit");
   System.Console.ReadLine();
  }
 }
}

Оглавление книги


Генерация: 1.129. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз