Декомпиляция SharePoint: поиск «внешних» реализаций функций

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/85821

  •  10-12-2019
  •  | 
  •  

Вопрос

Я декомпилирую некоторые методы в Microsoft.SharePoint.dll чтобы попытаться понять, смогу ли я использовать некоторые из этих классов для того, что мне нужно, или мне придется изобретать велосипед...

В любом случае, я могу проследить вызовы функций до момента, когда я начинаю обращаться к неуправляемому коду, вызываемому SPRequest обертка.Множество функций, SPRequest функции вызова класса SPRequestInternalClass класс, которые все помечены public virtual extern где-то реализуется через COM-объекты.

Я не пытаюсь вызывать эти методы напрямую или делать что-то в этом роде, но мне нужно посмотреть, как они реализованы.

Мой вопрос: где находится неуправляемая COM-часть кода SP?

Это было полезно?

Решение

Я понял.Я нашел это сообщение в блоге Христо Павлова: Понимание SharePoint:SPRequest

В статье он объясняет:

Внутренний класс SPRequest имеет неуправляемую ссылку на COM-объект с именем SP.SPRequest и имеет ClassID BDEADEE2-C265-11D0-BCED-00A0C90AB50F, который реализован и предоставляется библиотекой классов OWSSVR.DLL.

COM-объект SP.SPRequest предоставляет почти 400 базовых операций, и почти все, что вы делаете с управляемой Microsoft.NET объектной моделью SharePoint, которая читает или записывает в базу данных ContentDatabase (включая данные, поля, типы контента, схемы списков и т. д.), фактически выполняется через этот неуправляемый COM-объект.Более того, OWSSVR.DLL на самом деле является расширением ISAPI, зарегистрированным в IIS, и его методы можно вызывать напрямую через HTTP-запрос к /_vti_bin/owssvr.dll.Многие приложения Office (Word, Excel, InfoPath, SharePoint Designer и т. д.) используют HTTP-вызовы непосредственно к OWSSRV для интеграции с удаленным сервером SharePoint.Не будет преувеличением сказать, что OWSSRV.DLL — это душа и тело WSS 3.0.Исторически он возник из версии SharePoint 1.0, еще до появления Microsoft.NET, когда веб-приложения разрабатывались с использованием таких технологий, как ISAPI и DCOM.

Редактировать:

Еще одно замечание: этой DLL нет в GAC.

Эту сборку можно найти в каталоге ISAPI куста.В SP 2013 путь такой:

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

Или эквивалент в вашей системе.

Редактировать 2:

Удачи в работе с этой DLL.Вы не можете просто декомпилировать это, как это можно сделать со сборками .NET, поэтому знание того, где находится DLL, на самом деле не поможет вам заглянуть во внутренние, недокументированные реализации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top