Вопросы параллелизма WCF - PullRequest
0 голосов
/ 07 декабря 2010

У меня есть приложение MVC ASP.NET, которое внутри document.ready представления делает N обращений к определенному действию, используя $ .ajax.Это действие, в свою очередь, вызывает метод в службе WCF.Этот метод обращается к очереди объектов, освобождая ее от очереди, и, наконец, возвращает объект, и свойство внутри этого объекта возвращается вызывающим действием как JSON обратно к вызову $ .ajax, который обрабатывает его через функцию, указанную в 'Параметр success.

Проблема в том, что он не работает одновременно, сообщая данные, которые генерирует log4net.В большинстве случаев один и тот же поток обрабатывает все вызовы WCF.И все они последовательны, судя по времени начала и окончания.Мы не получаем никаких ошибок, все вызовы выполняются успешно, но так как они не параллельны, у меня проблема с производительностью.

Важно: я украсил службу WCF с помощью InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode= ConcurrencyMode.Multiple.Вызов $ .ajax - async: true (значение по умолчанию, я на самом деле его не меняю).Сервисы используют netTcpBinding.

Есть идеи?

1 Ответ

0 голосов
/ 07 декабря 2010

Я знаю, что IE ограничивает два одновременных вызова ajax одним доменом, но не уверен, что это проблема браузера.Хотя статья Silverlight, эта ссылка может быть полезна.

Кроме того, вы подтвердили, какие значения есть в serviceBehavior, в частности maxConcurrentCalls ?

...