Pregunta

Estoy descompilando algunos de los métodos en el Microsoft.SharePoint.dll para intentar ver si algunas de estas clases me sirven o no para lo que necesito o si tengo que reinventar la rueda...

De todos modos, puedo rastrear las llamadas a funciones hasta el punto en el que comienzo a acceder al código no administrado llamado por el SPRequest envoltura.Muchas de las funciones del SPRequest funciones de llamada de clase del SPRequestInternalClass clase que están todos etiquetados public virtual extern se está implementando a través de objetos COM en algún lugar.

Ahora, no estoy tratando de llamar a estos métodos directamente ni nada estúpido por el estilo, pero necesito ver cómo se implementan.

Mi pregunta es ¿dónde está la parte COM no administrada del código SP?

¿Fue útil?

Solución

Me lo imaginé.Encontré esta publicación de blog de Hristo Pavlov: Entendiendo SharePoint:Solicitud SP

En el artículo explica:

La clase SPRequest interna tiene una referencia no administrada a un objeto COM llamado SP.SPRequest y que tiene un ClassID de BDEADEE2-C265-11D0-BCED-00A0C90AB50F que se implementa y se expone en la biblioteca de clases OWSSVR.DLL.

El objeto COM SP.SPRequest expone casi 400 operaciones básicas y casi todo lo que haga con el modelo de objetos de SharePoint administrado por Microsoft.NET que lee o escribe en ContentDatabase (incluidos datos, campos, tipos de contenido, esquemas de lista, etc.) realmente se implementará. a través de este objeto COM no administrado.Aún más, OWSSVR.DLL es en realidad una extensión ISAPI registrada en IIS y sus métodos se pueden llamar directamente mediante una solicitud HTTP a /_vti_bin/owssvr.dll.Muchas de las aplicaciones de Office (Word, Excel, InfoPath, SharePoint Designer, etc.) utilizan llamadas HTTP a OWSSRV directamente para integrarse con un servidor SharePoint remoto.No será demasiado exagerado decir que OWSSRV.DLL es el alma y el cuerpo de WSS 3.0.Históricamente proviene de SharePoint versión 1.0, de los días anteriores a Microsoft.NET, cuando se desarrollaban aplicaciones web utilizando tecnologías como ISAPI y DCOM.

Editar:

Otra nota sobre esto es que esta DLL no está en el GAC.

Puede encontrar este ensamblado en el directorio ISAPI de la colmena.En SP 2013, la ruta es:

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

O el equivalente en su sistema.

Edición 2:

Buena suerte haciendo cualquier cosa con esta DLL.No puede simplemente descompilar esto como puede hacerlo con los ensamblados .NET, por lo que saber dónde está la DLL en realidad no le ayuda a examinar implementaciones internas no documentadas.

Licenciado bajo: CC-BY-SA con atribución
scroll top