Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Windows Service + .Net Remoting (C#)

30K
22 января 2008 года
Nakamura
6 / / 05.11.2007
Изначально я видимо не там создал тему (раздел .NET Framework).

Вот основной метод сервиса:

protected override void OnStart(string[] args)
{
try
{
TcpChannel serverChannel = new TcpChannel(9090);

ChannelServices.RegisterChannel(serverChannel, false);

ChannelDataStore data = (ChannelDataStore)serverChannel.ChannelData;

RemotingConfiguration.RegisterWellKnownServiceType(
typeof(WebCrawler.Crawler), "RemoteObject.rem",
WellKnownObjectMode.Singleton);
WebCrawler.Crawler crawler = new WebCrawler.Crawler();
crawler.Name = "Hello world!";
RemotingServices.Marshal(crawler);
}
catch (Exception error)
{
}
}

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

static void Main(string[] args)
{
TcpChannel clientChannel = new TcpChannel();

ChannelServices.RegisterChannel(clientChannel, false);

WellKnownClientTypeEntry remoteType = new WellKnownClientTypeEntry(
typeof(WebCrawler.Crawler), "tcp://localhost:9090/RemoteObject.rem");
RemotingConfiguration.RegisterWellKnownClientType(remoteType);

string name = ((WebCrawler.Crawler)Activator.GetObject(typeof(WebCrawler.Crawler), "tcp://localhost:9090/RemoteObject.rem")).Name;
Console.WriteLine(name);
Console.ReadLine();
}

Однако вместо того, чтобы получить "Hello World!" я получаю "Default crawler" (значение поля WebCrawler.Crawler.Name, заданное по-умолчанию).

Что я неправильно сделал?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог