У меня есть приложение Silverlight 3, которому нужно вызвать службу WCF. Служба WCF, в свою очередь, вызывает веб-службу ASMX. По завершении вызова службы WCF пользовательский интерфейс silverlight необходимо обновить.
WCF вызывается в асинхронном режиме.
Дело в том, что приложению Silverlight необходимо вызывать метод WCF (который позже вызывает asmx внутри) сотни раз. Я понимаю, что, поскольку он находится в aSync, будут созданы сотни потоков, поэтому я написал код проверки, чтобы убедиться, что функция WCF вызывается не более, чем за X раз. Только после 1 звонка я могу добавить еще один звонок. Я надеюсь, что это будет контролировать общее количество потоков. Каково идеальное значение этого значения Х? Я на простой машине XP с двухъядерным процессором и 4 ГБ оперативной памяти.
Когда вызовы WCF будут завершены, мне нужно отобразить индикатор выполнения на интерфейсе silverlight.
Это прекрасно работает для меньшего числа вызовов, но когда мне нужно сказать примерно 10000 вызовов, через некоторое время я получаю тайм-аут в методе WCFCompleted Silverlight. Я чувствую, что могу зайти в тупик?
Мой WCF настроен для одновременной работы нескольких пользователей.
Каждый раз, когда завершается один вызов WCF, он обновляет пользовательский интерфейс ... может ли это быть причиной этой тупиковой ситуации?
Есть идеи у кого-нибудь? Я застрял плохо и потерян здесь.