검색 공유 관련 서비스 공급자의 이름?
-
09-06-2019 - |
문제
당신은 어떻게 프로그래밍 방식으로 이름을 검색하의 서비스 공급자와 관련된 특정 Sharepoint 웹 응용 프로그램?
나는 사용자 지정 솔루션이 필요하다:
- 모두 열거하는 웹 응용 프로그램의 배포
- 그 밖으로 공유 서비스 공급자는 각각의 웹 애플리케이션과 관련
- 액세스 비즈니스 데이터를 카탈로그에 설치되어 있 SSP 일부 데이터를 검색
- 열거를 통해 모든 사이트 모음에서 이러한 웹 응용 프로그램
- 다양한 작업을 수행할 수 있는 사이트 내에 따라 컬렉션 데이터
내 포인트 1,3,4,5,냈지만 2 은 약간 귀찮은 것입니다.지 싶어 하드 코딩 SSP 이름 어디서나 필요하지 않습 농장 관리자가 수동으로 편집하는 구성 파일입니다.모든 정보가 필요한 것은 Sharepoint 구성 데이터베이스에서,나는 그냥하는 방법을 알고 있어야를 통해 액세스할 수 있습니다.
해결책
불행하게도 없습니다 지원되는 방법 알고 이를 수행할 수 있습니다.관련 클래스 SharedResourceProvider Microsoft.사무실입니다.서버입니다.관리 네임스페이스,Microsoft.사무실입니다.서버 DLL.그것은 내부로 표시되므로 사전에 반사:
SharedResourceProvider sharedResourceProvider = ServerContext.GetContext(SPContext.Current.Site).SharedResourceProvider;
string sspName = sharedResourceProvider.Name;
Post-반사:
ServerContext sc = ServerContext.GetContext(SPContext.Current.Site);
PropertyInfo srpProp = sc.GetType().GetProperty(
"SharedResourceProvider", BindingFlags.NonPublic | BindingFlags.Instance);
object srp = srpProp.GetValue(sc, null);
PropertyInfo srpNameProp = srp.GetType().GetProperty(
"Name", BindingFlags.Public | BindingFlags.Instance);
string sspName = (string)srpNameProp.GetValue(srp, null);
대안을 작성하는 것입 SQL 쿼리를 통해 구성 데이터베이스에는 권장하지 않습니다.
제휴하지 않습니다 StackOverflow