Попытка соорудить способ параллельного выполнения кода по запросу данных из нескольких списков Sharepoint. Собственно, способ предполагалось использовать в веб-части, написанной на C#, выбор F# для реализации способа обусловлен наличием в нём средств для параллельного выполнения асинхронных операций (класс Async).
Упрощённая тестовая программка на C#:
Параллельный исполнятель на F#:
Однако фокус не удался: из всех списков, переданных в ParallelExecutor, данные добываются только из одного (иногда из первого, иногда из последнего). На всех остальных операция list.Items.GetDataTable() падает с диковинным сообщением <nativehr>0x80010102</nativehr><nativestack></nativestack>
Похоже, разработчики Sharepoint не сумели подружиться не только с .NET 4.0, но и с F#-классом Async…
2 комментария:
RPC_E_ATTEMPTED_MULTITHREAD
0x80010102
Attempted to make calls on more than one thread in single threaded mode.
И как быть? Где нужную mode взять?
Отправить комментарий