Pergunta

Eu estou descompilação alguns dos métodos da Microsoft.SharePoint.dll para tentar para ver se eu posso usar algumas dessas classes para o que eu preciso ou se eu tenho que reinventar a roda...

De qualquer maneira, posso traçar as chamadas de função até o ponto em que eu começar a bater o código não gerenciado chamado pelo SPRequest wrapper.Muitas das funções do SPRequest classe de funções de chamadas de SPRequestInternalClass classe de que todos são rotulados public virtual extern a ser implementada através de objetos COM em algum lugar.

Agora, eu não estou tentando chamar estes métodos diretamente ou qualquer coisa estúpida como essa, mas eu preciso ver como eles são implementados.

A minha pergunta é onde está a ser gerido COM parte do SP código?

Foi útil?

Solução

Eu descobri.Eu encontrei este post no blog Hristo Pavlov: A Compreensão Do SharePoint:SPRequest

No artigo, ele explica:

O interno SPRequest classe tem gerido referência a um objeto COM chamada SP.SPRequest e ter uma ClassID de BDEADEE2-C265-11D0-BCED-00A0C90AB50F que é implementado nas expostas pelo OWSSVR.DLL biblioteca de classe.

O SP.SPRequest COM objeto expõe quase 400 operações básicas e quase tudo que você faz com o Microsoft.NET gerenciado modelo de objeto do SharePoint que lê ou escreve para o ContentDatabase (incluindo dados, campos, tipos de conteúdo, lista de esquemas, etc.), na verdade, irá através deste objeto COM não gerenciado.Ainda mais o OWSSVR.DLL na verdade, é uma extensão ISAPI registrado no IIS e seus métodos podem ser chamados diretamente através de um pedido de HTTP /_vti_bin/owssvr.dll.Muitos dos aplicativos do Office (Word, Excel, InfoPath, SharePoint Designer, etc) estão usando HTTP chamadas para OWSSRV diretamente, a fim de integrar com um controle remoto de servidor do SharePoint.Não ser demasiado de um exagero dizer que OWSSRV.DLL é a alma e o corpo do WSS 3.0.Ele vem, historicamente, a partir do SharePoint ver 1.0, desde os dias antes de Microsoft.NET quando os aplicativos da web foram desenvolvidos utilizando tecnologias como ISAPI e DCOM.

Editar:

Outra observação sobre isso é que essa DLL não está no GAC.

Você pode encontrar esse assembly no diretório ISAPI do ramo.Em SP 2013, o caminho é:

C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\OWSSVR.DLL

Ou o equivalente no seu sistema.

Edit 2:

Boa sorte a fazer qualquer coisa com essa DLL.Você não pode descompilar isso, como você pode com o .NET assembléias, para saber de onde a DLL está, na verdade, não ajuda você perscrutar interno, não documentado implementações.

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