문제

당신은 어떻게 프로그래밍 방식으로 이름을 검색하의 서비스 공급자와 관련된 특정 Sharepoint 웹 응용 프로그램?

나는 사용자 지정 솔루션이 필요하다:

  1. 모두 열거하는 웹 응용 프로그램의 배포
  2. 그 밖으로 공유 서비스 공급자는 각각의 웹 애플리케이션과 관련
  3. 액세스 비즈니스 데이터를 카탈로그에 설치되어 있 SSP 일부 데이터를 검색
  4. 열거를 통해 모든 사이트 모음에서 이러한 웹 응용 프로그램
  5. 다양한 작업을 수행할 수 있는 사이트 내에 따라 컬렉션 데이터

내 포인트 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 쿼리를 통해 구성 데이터베이스에는 권장하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top