문제

나는 Microsoft.SharePoint.dll 필요한 것에 대해 이러한 클래스 중 일부를 사용할 수 있는지 또는 바퀴를 다시 만들어야 하는지 확인하려고 합니다...

어쨌든, 호출된 비관리 코드에 도달하기 시작하는 지점까지 함수 호출을 추적할 수 있습니다. SPRequest 싸개.의 많은 기능 SPRequest 클래스 호출 함수 SPRequestInternalClass 모두 라벨이 붙은 클래스 public virtual extern COM 개체를 통해 어딘가에서 구현되고 있습니다.

이제 이러한 메서드를 직접 호출하거나 그와 같은 어리석은 작업을 시도하지는 않지만 구현 방법을 확인해야 합니다.

내 질문은 SP 코드의 관리되지 않는 COM 부분이 어디에 있습니까?

도움이 되었습니까?

해결책

나는 그것을 알아.Hristo Pavlov가 쓴 다음 블로그 게시물을 찾았습니다. SharePoint 이해:SP요청

기사에서 그는 다음과 같이 설명합니다.

내부 SPRequest 클래스에는 SP.SPRequest라는 COM 개체에 대한 관리되지 않는 참조가 있고 OWSSVR.DLL 클래스 라이브러리에서 구현되고 노출되는 ClassID BDEADEE2-C265-11D0-BCED-00A0C90AB50F가 있습니다.

SP.SPRequest COM 개체는 거의 400개의 기본 작업을 노출하며 ContentDatabase(데이터, 필드, 콘텐츠 유형, 목록 스키마 등 포함)에서 읽거나 쓰는 Microsoft.NET 관리 SharePoint 개체 모델을 사용하여 수행하는 거의 모든 작업이 실제로 수행됩니다. 이 관리되지 않는 COM 개체를 통해.더욱이 OWSSVR.DLL은 실제로 IIS에 등록된 ISAPI 확장이며 해당 메서드는 /_vti_bin/owssvr.dll에 대한 HTTP 요청을 통해 직접 호출될 수 있습니다.많은 Office 응용 프로그램(Word, Excel, InfoPath, SharePoint Designer 등)은 원격 SharePoint 서버와 통합하기 위해 OWSSRV에 대한 HTTP 호출을 직접 사용하고 있습니다.OWSSRV.DLL은 WSS 3.0의 핵심이라고 해도 과언이 아닐 것입니다.이는 역사적으로 ISAPI 및 DCOM과 같은 기술을 사용하여 웹 응용 프로그램이 개발된 Microsoft.NET 이전부터 SharePoint 버전 1.0에서 나온 것입니다.

편집하다:

이에 대한 또 다른 참고 사항은 이 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