powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Remoting. Умирающий сервер.
16 сообщений из 16, страница 1 из 1
Remoting. Умирающий сервер.
    #32772396
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Помогите разобраться с сабжем.
Ситуация такова:
Имеется сервер, как положено MarshalByRefObject. Слушает для него NT Service, одновременно он и сам использует сервер для работы.
К серверу коннектятся клиенты(2-3), делают одну и ту же работу. Вообщем довольно простой вариант. Проблема наверное знакома тем ко работал с ремотингом(у меня тут опыта маловато) - через короткий промежуток времени сервер умирает, выражается это в вываливании эксепшина на клиенте "Requested service not found". Т.е. сам обьект-то там, но его lease time expired и естественно он становится недоступным для ремотинг клиентов.

Что я делал:
Пытался решить проблему сразу на сервере, классическим способом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
public override Object InitializeLifetimeService() {
	ILease lease = (ILease)base.InitializeLifetimeService();
	if (lease.CurrentState == LeaseState.Initial) {
		lease.InitialLeaseTime = TimeSpan.FromHours(2);
		lease.SponsorshipTimeout = TimeSpan.FromHours(2);
		lease.RenewOnCallTime = TimeSpan.FromHours(2);
		
	}
	return lease;
}

и даже так
Код: plaintext
1.
2.
public override Object InitializeLifetimeService() {
	return null;
}

и renew делал при каждом вызове методов сервера

Код: plaintext
1.
ILease lease = (ILease)MyServer.GetLifetimeService();
lease.Renew(TimeSpan.FromMinutes(40));

Ни один способ не принес результатов. Обьект умирает, на клиентах ексепшины.

Если кто в курсе что за грабли, пните в нужном направлении плиз.

Спасибо.


Magnus
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32772459
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 /// <summary>
	/// Базовый класс для коммуникации клиент-сервис
	/// </summary>
	public abstract class clsCommunicationBase : MarshalByRefObject
	{
		public override Object InitializeLifetimeService()
		{
			ILease lease = (ILease)base.InitializeLifetimeService();
			if (lease.CurrentState == LeaseState.Initial)
			{
				lease.InitialLeaseTime = TimeSpan.Zero;
	
			}
			return lease;
		}
	}

OFF: экспериметы с Remoting означают, что от Enterprise Services решили отказаться ?
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32772478
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странные дела творятся. Все вышеописанное происходило в процессе тестов на машинах клиента. Сегодня снова тестирую в своей конторе, все работает, уже 2 часа...
Вроде ничего не пил...


RE: OFF
Означают :).
Решили отказаться по многим причинам. У нас в конторе это все меняется чаще чем погода за окном. Достало уже до корней волос, но ксожалению от меня не зависит.



Magnus
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32772496
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня с вышеприведенным кодом сервер неделями живет, так что по идее должно работать. Но, правда приложение не тиражируемое, так что не могу гарантировать, что код 100 % рабочий на всех машинах. Бывает всякое.

Re: OFF
Мы недавно тоже отказались от Enterprise Services, в т.ч. и почитав тот тред :)
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32772505
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понимаю что происходит, код тот же, здесь работает без запинки, у клиента валился. Единственная разница - у меня здесь для тестов только один терминал, а там больше 20. Но работал-то я с одним, хотя запросы шли на все 20, в холостую.
Пытаюсь разобраться.

RE: OFF
А может я все-таки не прав был ? :)
Это быки мои первые эксперименты в данной области, закончились неудачно к сожалению. А вот с ремотингом более-менее гладко идет :).

Magnus
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32772508
Стр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Magnus23
такая ситуация может случаться если северные сборки лежат в gac'e, а клиентские прокси явно завязаны на версию.
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32772518
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я лично сборки в gac не ложил, так что если они туда не попали каким-то другим способом, то не оно.

Все равно спасибо за вариант, проверю у клиента.

Magnus
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32772574
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня сделано

public override Object InitializeLifetimeService() {
return null;
}

и тип сервиса Singleton

работает еще с 2002 года у (40 клиентов * 20-80 юзеров), сервисы не ребутятся месяцами, непонятки типа ваших не встречались.
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32772590
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<off>(40 клиентов * 20-80 юзеров)можно расшифровать эту загадочную формулу ?
у меня получилось 40*20-80=720, правда если отклиентов вычесть юзеров, то кто в остатке ?
</off>
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32772615
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кузя<off> (40 клиентов * 20-80 юзеров)можно расшифровать эту загадочную формулу ?
у меня получилось 40*20-80=720, правда если отклиентов вычесть юзеров, то кто в остатке ?
</off>

простите, сэкономил в словах - получилась чушь.

поясняю:

серверный софт работает у 40 клиентов. У каждого из клиентов от 20 до 80 активных пользователей, работающих с этой софтиной через Remoting.
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32772632
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Magnus23

можно написать свою "следилку" за MBR-объектами на сервере (если есть возможность callback'ов), но...

у меня ситуация такая же как и у backfire. т.е. серверные объекты по своему усмотрению не вымирают. процесс полностью под контролем.

---
ЗЫ
для "следилки" можно использовать TrackingServices (отслеживает marshal, unmarshal и disconnect - твой случай - конец лизы (weakreference в remoting) и под ближайший сбор GC)
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32772928
Por
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Por
Гость
Может быть не в тему, но "Requested service not found" у меня вываливается тогда, когда серверный объект не опубликован в конфиге, а клиент обращается к нему.
То есть выглядит это так: Добавляется к серверному проекту очередной объект, клиент дорабатывается с учетом нового объекта. Все компилится и запускается. И в момент вызова с клиента вываливается "Requested service not found". Соответсвенно, луплю себя по лбу, и лезу в конфиг добавлять описания в <application><service><wellknown ...

Может быть проблема в том, что у клиента конфиг старый/модифицированный?

ЗЫ. mode="SingleCall"
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32774500
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PorМожет быть не в тему, но "Requested service not found" у меня вываливается тогда, когда серверный объект не опубликован в конфиге, а клиент обращается к нему.
То есть выглядит это так: Добавляется к серверному проекту очередной объект, клиент дорабатывается с учетом нового объекта. Все компилится и запускается. И в момент вызова с клиента вываливается "Requested service not found". Соответсвенно, луплю себя по лбу, и лезу в конфиг добавлять описания в <application><service><wellknown ...

Может быть проблема в том, что у клиента конфиг старый/модифицированный?

ЗЫ. mode="SingleCall"

Я себе завел за правило, что при запуске клиет проверяет присутствие и доступность всех "сервисов".
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32775662
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы, особенно понравилось TrackingServices... будем посмотреть :).

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

Magnus
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32776012
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magnus23Было несколько ошибок стороннего компонента который использовался в сервере и валил его, таймауты к базе, медленная сетка и еще куча проблем.и ни одной своей ошибки ?
"не верю" (с)
:-)
...
Рейтинг: 0 / 0
Remoting. Умирающий сервер.
    #32776074
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Своих исправил прилично, но ни одна не имела никакого отношения к данной проблеме.
чесна :)

Magnus
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Remoting. Умирающий сервер.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]