Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF - что может мешать включить ConcurrencyMode.Multiple? / 4 сообщений из 4, страница 1 из 1
27.05.2009, 19:53
    #36011788
D129
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF - что может мешать включить ConcurrencyMode.Multiple?
Ситуация такая - 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
27.05.2009, 19:55
    #36011794
Сахават Юсифов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF - что может мешать включить ConcurrencyMode.Multiple?
D129,

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

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

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


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


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