Frage

Ich dekompiliere einige der Methoden im Microsoft.SharePoint.dll um zu sehen, ob ich einige dieser Klassen für das nutzen kann, was ich brauche, oder ob ich das Rad neu erfinden muss ...

Wie auch immer, ich kann die Funktionsaufrufe bis zu dem Punkt verfolgen, an dem ich anfange, auf den nicht verwalteten Code zu stoßen, der von aufgerufen wird SPRequest Verpackung.Viele Funktionen des SPRequest Klassenaufruffunktionen der SPRequestInternalClass Klasse, die alle beschriftet sind public virtual extern wird irgendwo über COM-Objekte implementiert.

Nun, ich versuche nicht, diese Methoden direkt aufzurufen oder so etwas Dummes, aber ich muss sehen, wie sie implementiert werden.

Meine Frage ist, wo ist der nicht verwaltete COM-Teil des SP-Codes?

War es hilfreich?

Lösung

Ich habe es herausgefunden.Ich habe diesen Blogbeitrag von Hristo Pavlov gefunden: SharePoint verstehen:SPAnfrage

In dem Artikel erklärt er:

Die interne SPRequest-Klasse verfügt über einen nicht verwalteten Verweis auf ein COM-Objekt mit dem Namen SP.SPRequest und der Klassen-ID BDEADEE2-C265-11D0-BCED-00A0C90AB50F, das in der Klassenbibliothek OWSSVR.DLL implementiert und von dieser verfügbar gemacht wird.

Das SP.SPRequest-COM-Objekt macht fast 400 grundlegende Vorgänge verfügbar und fast alles, was Sie mit dem von Microsoft.NET verwalteten SharePoint-Objektmodell tun, das aus der ContentDatabase liest oder in sie schreibt (einschließlich Daten, Felder, Inhaltstypen, Listenschemata usw.), funktioniert tatsächlich über dieses nicht verwaltete COM-Objekt.Darüber hinaus ist OWSSVR.DLL tatsächlich eine in IIS registrierte ISAPI-Erweiterung und ihre Methoden können direkt über eine HTTP-Anfrage an /_vti_bin/owssvr.dll aufgerufen werden.Viele der Office-Anwendungen (Word, Excel, InfoPath, SharePoint Designer usw.) verwenden HTTP-Aufrufe an OWSSRV direkt, um sich in einen Remote-SharePoint-Server zu integrieren.Es ist nicht übertrieben zu sagen, dass OWSSRV.DLL die Seele und der Körper von WSS 3.0 ist.Es stammt historisch von SharePoint Version 1.0 aus der Zeit vor Microsoft.NET, als Webanwendungen mithilfe von Technologien wie ISAPI und DCOM entwickelt wurden.

Bearbeiten:

Ein weiterer Hinweis hierzu ist, dass sich diese DLL nicht im GAC befindet.

Sie finden diese Assembly im ISAPI-Verzeichnis des Hives.Im SP 2013 lautet der Pfad:

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

Oder das Äquivalent auf Ihrem System.

Bearbeiten 2:

Viel Glück bei der Arbeit mit dieser DLL.Sie können dies nicht einfach wie bei den .NET-Assemblys dekompilieren. Wenn Sie also wissen, wo sich die DLL befindet, können Sie keinen Blick auf interne, undokumentierte Implementierungen werfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top