Звучит так, будто тайм-аут - это лучшее, что у вас есть.
Я полагаю, что для операций достаточно твердое время ожидания. Я не видел этого в веб-частях, но видел это в пользовательских рабочих процессах Visual Studio в SharePoint, где начальное действие рабочего процесса выполняло довольно длительный процесс, не переводя рабочий процесс в спящий режим и не ставший асинхронным. Если я правильно помню, время ожидания составляет 2 минуты.
Я только что сделал быстрый поиск, который дал эту ссылку , которая подтверждает это и говорит вам, как настроить время ожидания.
В конце концов, вам нужно минимизировать количество строк и, возможно, сайтов (SPWebs), которые запрашиваются. Если вы еще не используете его, я бы посмотрел на SPSiteDataQuery или SiteData.asmx , чтобы помочь с вашим запросом.