metaclass: (Default)
[personal profile] metaclass
так это за излишнюю интеллектуальность.

Счас воевал несколько часов с багом в софте, использующем ремотинг.

Оказывается, объекты опубликованные для ремотинга имеют конечное время жизни, и это надо ручками переопределять, потому что если объект не дергают около 10 минут - он сдыхает, и при следующем обращении выдает ошибку "Requested service not found". Поиск по этой ошибке ничего не дает, и понять ее причины просто так не получается.

Я уже даже сниффером обмен между клиентом и сервисом посмотрел, удостоверился, что ошибка в сервисе, windbg с загруженным clr-расширеним(C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\SOS.dll) ошибку перехватил, посмотрел стек вызовов и рефлектором внутренности места, где ошибка возникает, изучать начал.
И потом только до меня дошло, что 10 минутный таймаут - это явно где-то сборка мусора покопалась, а потом уже и слова LifetimeService и ILease вспомнились, по которым причина и метод исправления ошибки в гугле находится за пару минут.

Date: 2008-11-30 12:42 pm (UTC)
From: [identity profile] black-angel-by.livejournal.com
А я его просто нинавижу :) Просто за то, что он есть :)

Date: 2008-11-30 01:55 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Не, я им пользуюсь, вижу, что хотели сделать хорошо, и в плане языка и платформы у них получилось. Но чем дальше от этого и ближе к прикладным задачам - тем более нарастает пиздец и безумие.

Date: 2008-11-30 08:06 pm (UTC)
From: [identity profile] slonopotamus.livejournal.com
В плане языка у них очень получилось. Сижу вот на яве пишу и завидую.

Date: 2008-11-30 01:31 pm (UTC)
From: [identity profile] slonopotamus.livejournal.com
Доки читайте. Дотнет здесь ни при чём. Все stateful remote сервисы имеют таймаут. Иначе их просто заdosят, выжрав всю память на объекты, которые никогда не удаляются. Ну или клиент неожиданно повиснет/отвалится, а объекты так и будут висеть. http сессии тоже например таймаут имеют.

Date: 2008-11-30 01:58 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Да я уже понял.
Просто из сообщения об ошибке никак не следует что проблема с временем жизни. Да и сервис у меня синглетон и stateless, на самом деле его нужно было Client-Activated сделать, а я что-то перемудрил.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 21st, 2025 03:59 am
Powered by Dreamwidth Studios