تفكيك 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 ولها معرف فئة BDEADEE2-C265-11D0-BCED-00A0C90AB50F والذي تم تنفيذه وعرضه بواسطة مكتبة فئة OWSSVR.DLL.

يعرض كائن SP.SPRequest COM ما يقرب من 400 عملية أساسية وكل ما تفعله تقريبًا باستخدام نموذج كائن SharePoint المُدار من Microsoft.NET والذي يقرأ من قاعدة بيانات المحتوى أو يكتب إليها (بما في ذلك البيانات والحقول وأنواع المحتوى ومخططات القائمة وما إلى ذلك) سيتم تنفيذه فعليًا عبر كائن 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