powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF - что может мешать включить ConcurrencyMode.Multiple?
4 сообщений из 4, страница 1 из 1
WCF - что может мешать включить ConcurrencyMode.Multiple?
    #36011788
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация такая - WCF сервис обрабатывает вызовы, обращаясь к синглтону - классу, который держит несколько списков (типа - List<someEntities> DataList).
Сервис результаты возвращает клиенту исправно. Но при вызове специально сделанном долгим( Sleep 30 секунд внутри) метода выяснилось, что пока этот метод не закончится, все другие вызовы (с других клиентов) ждут. То есть, никакого мультитрейдинга не наблюдается. Зависает (не обновляется) даже формочка, которая занимается хостингом этого сервиса. Что, в принципе, понятно, так как хостинг реализован так

Код: plaintext
1.
2.
m_ServiceGui = new ServiceHost(typeof(WmsGuiService));
m_ServiceGui.Open();
в конструкторе главной формы.


В коде сервиса атрибут

Код: plaintext
1.
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple)]	
	public class WmsGuiService : IWmsGuiService

стоит.
IWmsGuiService - это собственно контракт.

Где могут быть грабли?

Спасибо.

Море излечило меня от Джихада...(с)
...
Рейтинг: 0 / 0
WCF - что может мешать включить ConcurrencyMode.Multiple?
    #36011794
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129,

честно гря не занимаюсь сервисами, но скорее всего дело в синглтоне
...
Рейтинг: 0 / 0
WCF - что может мешать включить ConcurrencyMode.Multiple?
    #36011805
этo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129 это смотрели?
...
Рейтинг: 0 / 0
WCF - что может мешать включить ConcurrencyMode.Multiple?
    #36011897
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
этoD129 это смотрели?

Спасибо, то что нужно. Почему-то в документации просмотрел еще один атрибут - UseSynchronizationContext

Код: plaintext
1.
 [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.PerSession, UseSynchronizationContext = false)]	
вот так вот заработало.


И начинаем писать lock и сами....
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF - что может мешать включить ConcurrencyMode.Multiple?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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