Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
28.05.2006, 22:46
|
|||
---|---|---|---|
|
|||
проблема со "спонсорным" класом в Remoting |
|||
#18+
Из книги Маклис С., Нефтел Дж., Уильяме К. Microsoft .NET Remoting. Там есть пример обявления спонсора жизни удаленого обэкта (пример под VS2003 а я пользуюсь VS2005) , будто-бы делаю все правильно: Клиентскую форму наследую от ISponsor public partial class ClientForm : Form, ISponsor { private ILease ServerLease; ......... Опредиляю метод public TimeSpan Renewal(ILease lease) { return TimeSpan.FromMinutes(5); } И в событии старта формы делаю private void ClientForm_Load(object sender, EventArgs e) { ............... ServerLease = (ILease)Chat.InitializeLifetimeService(); ServerLease.Register((ISponsor)this); } Прога работает класно до тех пор пока не заканчивается LeaseTime. Метод Renewal не запускается. И обращение double t1 = ServerLease.CurrentLeaseTime.TotalSeconds; вызывает исключение {"Requested Service not found"} Что я делая неправельно ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.05.2006, 16:58
|
|||
---|---|---|---|
|
|||
проблема со "спонсорным" класом в Remoting |
|||
#18+
Уже пробовал и пример с МСДН2005: там спонсорский клас наследуется еще и от MarshalByRefObject class ClientSponsor : MarshalByRefObject, ISponsor { public TimeSpan Renewal(ILease lease) { return TimeSpan.FromMinutes(5); } } Кто работал с "ремотингом" отзовитесь ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.05.2006, 07:32
|
|||
---|---|---|---|
|
|||
проблема со "спонсорным" класом в Remoting |
|||
#18+
МОЖЕТ ЭТО ПОМОЖЕТ Единственное свойство, которое разрешается изменять у объекта после определения его аренды, — CurrentLeaseTime. Оно возвращает оставшееся время аренды. Обновить аренду объекта могут: • клиентское приложение (вызовом метода ILease.Renew); • объект-спонсор. Следующий код демонстрирует обновление аренды объекта из клиентского приложения: RemoteType ob] - new Remotelype(); ILease lease = (ILease)RemotingServices.GetLifetimeService{ob]): TimeSpan expireTime = lease.Renew(TimeSpan.FromSeconds{3Q}); ЭТО ИЗ КНИГИ ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.05.2006, 11:25
|
|||
---|---|---|---|
|
|||
проблема со "спонсорным" класом в Remoting |
|||
#18+
JeepikМОЖЕТ ЭТО ПОМОЖЕТ Единственное свойство, которое разрешается изменять у объекта после определения его аренды, — CurrentLeaseTime. Оно возвращает оставшееся время аренды. Обновить аренду объекта могут: • клиентское приложение (вызовом метода ILease.Renew); • объект-спонсор. Следующий код демонстрирует обновление аренды объекта из клиентского приложения: RemoteType ob] - new Remotelype(); ILease lease = (ILease)RemotingServices.GetLifetimeService{ob]): TimeSpan expireTime = lease.Renew(TimeSpan.FromSeconds{3Q}); ЭТО ИЗ КНИГИ таким способом мы явно продливаем время жизни, а когда время само по сибе заканчивается и сервер сам должен опрашивать спонсоров. Но это почемуто не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.05.2006, 11:28
|
|||
---|---|---|---|
|
|||
проблема со "спонсорным" класом в Remoting |
|||
#18+
Кстати книга Маклис С., Нефтел Дж., Уильяме К. Microsoft .NET Remoting.плохая: сначала куча теории и сразу же огромный пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.05.2006, 13:10
|
|||
---|---|---|---|
|
|||
проблема со "спонсорным" класом в Remoting |
|||
#18+
Последний вопрос может кто знает: "спонсоры" должны работать в режиме клиентской активации, или в режиме серверной активации тоже ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=19&mobile=1&tid=1398093]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
155ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 260ms |
0 / 0 |