Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Remoting


Автор: knave 6.9.2004, 14:24
Я создаю ремоутинговый класс на сервере и дергаю его методы на клиенте. Сервер это обычное вин приложение .NET. Клиент это веб приложение ASP.NET. Все бы ничего, но по истечению некоторого промежутка времени клиент перестает "видеть" удаленный класс. Вновь его он видит только после перезапуска сервера. Мне порекомендовали использовать сервис времени жизни, по почеуто когда я нанем пытаюсь зареистрровать спонсора моего класса то вываливает эксцепшен - НЕТ ПРАВ. Подскажите, что за права нужны и где их прописывать???

//-------------------
//Сервер
ChannelServices.RegisterChannel(new HttpChannel(8181)); //Создаем канал

RemoteService = new RemoteServiceClass(); // создаем класс
RemoteServiceRef = RemotingServices.Marshal(RemoteService, "MyHttpService"); //регистрируем

//-------------------
//Клиент
remoteChannel = new HttpChannel(0); // создем канал
ChannelServices.RegisterChannel(remoteChannel);

remotetype = new WellKnownClientTypeEntry(typeof(RemoteServiceClass),"http://localhost:8181/MyHttpService"); // коннектимся
RemotingConfiguration.RegisterWellKnownClientType(remotetype);

remoteService = new RemoteServiceClass(); // создем нашу копию
serverLease = (ILease)RemotingServices.GetLifetimeService(remoteService); //запрашиваем сервис времени жизни
sponsor = new RemoteClientSponsor(); //создаем спонсора
serverLease.Register(sponsor); // регистрируем спонсора

Автор: knave 6.9.2004, 14:54
Сам догадался - ламер Я.
Надо продлять жизнь то на сервере было - а я с удаоленного клиента пытался это сделать.
ПОЗОРРРРРРРРР !!!!!!!!!!!!!!!!!!!!!!!!

serverLease = (ILease)RemotingServices.GetLifetimeService(remoteService); //запрашиваем сервис времени жизни
sponsor = new RemoteClientSponsor(); //создаем спонсора
serverLease.Register(sponsor); // регистрируем спонсора

это все надо в сервре было вставить

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)