Вызов метода объекта несколькими клиентами в .Net Remoting
От: apes  
Дата: 21.01.04 15:01
Оценка:
Добрый день.

Допустим, что метод у объекта-сервера, который дергается клиентами достаточно ресурсоемкий по времени. Что происходит, если один клиент вызывает этот метод, в то время как сервер не успел обработать запрос от другого клиента?

Вопрос в следующем: существует ли в .Net Remoting механизм буферизации вызовов, если да то как и где он реализован? А если нет, то чего тогда делать-то
Re: Вызов метода объекта несколькими клиентами в .Net Remoti
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 21.01.04 15:42
Оценка:
Здравствуйте, apes, Вы писали:

A>Допустим, что метод у объекта-сервера, который дергается клиентами достаточно ресурсоемкий по времени. Что происходит, если один клиент вызывает этот метод, в то время как сервер не успел обработать запрос от другого клиента?


Параллельно начинается обработка второго запроса.

A>Вопрос в следующем: существует ли в .Net Remoting механизм буферизации вызовов,


Нет.

A>А если нет, то чего тогда делать-то


Не буферизовать или писать свой синк или использовать lock в длинной обработке чтобы она не запускалась несколько раз параллельно..
... << RSDN@Home 1.1.3 beta 1 >>
AVK Blog
Re[2]: Вызов метода объекта несколькими клиентами в .Net Rem
От: Igor Trofimov  
Дата: 21.01.04 16:59
Оценка:
A>>А если нет, то чего тогда делать-то

AVK>Не буферизовать или писать свой синк или использовать lock в длинной обработке чтобы она не запускалась несколько раз параллельно..


Или создавать новый объект под новый вызов.
Re: using System.Messaging; // idea
От: lynxus Россия  
Дата: 21.01.04 20:25
Оценка:
Здравствуйте, apes, Вы писали:

A>Вопрос в следующем: существует ли в .Net Remoting механизм буферизации вызовов, если да то как и где он реализован? А если нет, то чего тогда делать-то


Esli nuzno delatj buferizaciju, to mozno smenitj arxitekturu servera na asinxronnuju. Naprimer, esli proekt pozvoljaet, ispoljzovatj ocheredi MSMQ.

Samaja prostaja sxema mozet bitj takoj:
Klient posilaet zadanie v ocheredj servera i zdet otveta v ocheredi klienta (luchshe v otdeljnom potoke). Kogda server obrabotaet soobshenie on otsilaet rezuljtat v ocheredj klienta.

+ Klient mozet delatj chto-to eshe, poka zadanie medlenno obrabativaetsja.
+ Legko regulirovatj zagruzku servera, videliv nuznoe kolichestvo potokov, kot. budut obrabativatj soobshenija.
+ MQ podderzivaet transakcii, inogda ochenj udobno.

MQ klassi zivut v System.Messaging.
Re[2]: Вызов метода объекта несколькими клиентами в .Net Rem
От: Аноним  
Дата: 21.08.07 16:20
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Не буферизовать или писать свой синк или использовать lock в длинной обработке чтобы она не запускалась несколько раз параллельно..


lock в смысле критическая секция? А про синк можна подробнее?
Re[3]: Вызов метода объекта несколькими клиентами в .Net Rem
От: TK Лес кывт.рф
Дата: 21.08.07 18:53
Оценка:
Здравствуйте, <Аноним>, Вы писали:

AVK>>Не буферизовать или писать свой синк или использовать lock в длинной обработке чтобы она не запускалась несколько раз параллельно..


А>lock в смысле критическая секция? А про синк можна подробнее?


Унаследуйте ключевой объект от ContextBoundObject помеченный SynchronizationAttribute — это сериализует все обращения к нему. А городить огороды с синками думаю, что особо ни к чему...
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: Вызов метода объекта несколькими клиентами в .Net Rem
От: Agent Smith Россия  
Дата: 22.08.07 03:49
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, apes, Вы писали:


A>>Допустим, что метод у объекта-сервера, который дергается клиентами достаточно ресурсоемкий по времени. Что происходит, если один клиент вызывает этот метод, в то время как сервер не успел обработать запрос от другого клиента?


AVK>Параллельно начинается обработка второго запроса.


Это справедливо и для синглтона?
Never argue with a woman who reads. It's likely she can also think. (c)
Re[3]: Вызов метода объекта несколькими клиентами в .Net Rem
От: TK Лес кывт.рф
Дата: 22.08.07 04:34
Оценка:
Здравствуйте, Agent Smith, Вы писали:

AS>Это справедливо и для синглтона?


Конечно.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: Вызов метода объекта несколькими клиентами в .Net Rem
От: Agent Smith Россия  
Дата: 22.08.07 05:27
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, Agent Smith, Вы писали:


AS>>Это справедливо и для синглтона?


TK>Конечно.


а доступ к общим ресурсам? Проблемы многопоточности решаются?
Never argue with a woman who reads. It's likely she can also think. (c)
Re[5]: Вызов метода объекта несколькими клиентами в .Net Rem
От: TK Лес кывт.рф
Дата: 22.08.07 07:01
Оценка:
Здравствуйте, Agent Smith, Вы писали:

TK>>Конечно.

AS>а доступ к общим ресурсам? Проблемы многопоточности решаются?

Доступ к общим ресурсам надо решать самому. Можно ее решать через ContextBoundObject + SynchronizationAttribute
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[6]: Вызов метода объекта несколькими клиентами в .Net Rem
От: Аноним  
Дата: 22.08.07 10:20
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, Agent Smith, Вы писали:


TK>>>Конечно.

AS>>а доступ к общим ресурсам? Проблемы многопоточности решаются?

TK>Доступ к общим ресурсам надо решать самому. Можно ее решать через ContextBoundObject + SynchronizationAttribute


А можна сам синглетон сервер сделать синхронизированным? или только надо выносить общий ресурс который используется сервером в отдельный класс для того что бы применить ContextBoundObject + SynchronizationAttribute?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.