Pergunta

Aqui está o cenário. Eu tenho um número de Sharepoint Web Parts que dados de exibição para o usuário em um formato de grade. Todos eles ligar a um Web parte de navegação que o usuário pode usar para selecionar parâmetros para cada uma das grades de dados. No back-end, a parte da grade web chama um recipiente DI para obter uma "IDataProvider", que questiona alguns Sor e retorna uma tabela de dados.

Aqui está o que eu quero fazer: Eu quero as peças grade de web para ser executado em paralelo e não em série, uma vez que muitos dos nossos implentations "IDataProvider" fazer chamadas para serviços web. Tentei enrolar-se um BackgroundWorker em caso WebPartManager.ConnectionsActivated, com uma bandeira "espera" no método "OnPreRender", mas o servidor emitiu um erro dizendo que as operações assíncronas não foram autorizados. Quando eu tentei definir o sinalizador "Async" a verdade sobre o layout da página, eu recebo um erro dizendo-me que proíba sharepoint explicitamente definindo o sinalizador "Async" a verdade.

Existe uma solução para isso?

Foi útil?

Solução

DivisionByZorro,

Primeiro, eu amo o nome: -)

Não temais WebParts pode ser executado de forma assíncrona / multi-threaded, sem muito trabalho extra. Você simplesmente tem que registrar os manipuladores de eventos apropriadas via Page.RegisterAsyncTask . Você vai especificar o método que deve ser chamado de forma assíncrona, bem como o método de retorno para que o controle retornará quando a transformação está completa.

Daniel Larson fornece alguma cobertura agradável em seus artigos aqui ( http: //daniellarson.spaces.live.com/blog/cns!D3543C5837291E93!180.entry ) e ( http://daniellarson.spaces.live.com/blog/cns!D3543C5837291E93!192.entry ). Ele também abrange um punhado de watchouts e outras preocupações.

Espero que isso ajude!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top