2010-12-16 5 views
0

이 작업을 실행할 수없는 것 같습니다. 나는 이것이 주로 ApplicationId의 첫 번째 매개 변수와 관련이 있다고 생각합니다. 입력 할 ID가 무엇인지 알 수 없습니다. 나는 나쁜 ID를 의미하는 4의 반환 결과를 얻는다. 거기서 나온 모든 샘플은 2007 년이었고 SearchContext를 사용했고 더 이상 사용되지 않습니다. 누군가?SharePoint 2010 (2007 제외) API를 통해 잠재 고객 컴파일

public void CompileAudience(SPServiceContext serviceContext, AudienceManager audienceMgr, string AudienceName) 
    { 
     try 
     { 
      int RunJob = -1; 

      CustomMaintenanceTimerJobLogging.LogInfo(CustomMaintenanceTimerJobLogging.CategoryType.AudienceCompile, String.Format("Started compiling the audience '{0}' at {1}", AudienceName, DateTime.Now.ToShortTimeString())); 

      SPSecurity.RunWithElevatedPrivileges(delegate() 
      { 
       // Access the service proxy instance of search application proxy. 
       SearchServiceApplicationProxy searchApplicationProxy = serviceContext.GetDefaultProxy(typeof(SearchServiceApplicationProxy)) as SearchServiceApplicationProxy; 

       // Service Application Info object to retrieve the application id for the search service. 
       SearchServiceApplicationInfo searchApplicationInfo = searchApplicationProxy.GetSearchServiceApplicationInfo(); 

       string[] args = new string[4]; 
       args[0] = searchApplicationInfo.SearchServiceApplicationId.ToString(); 
       args[1] = "1"; // 1=Start compile, 0=Stop 
       args[2] = "1"; // 1=Full, 0=Incremental 
       args[3] = AudienceName; 

       RunJob = AudienceJob.RunAudienceJob(args); 
      }); 

      CustomMaintenanceTimerJobLogging.LogInfo(CustomMaintenanceTimerJobLogging.CategoryType.AudienceCompile, String.Format("Completed compiling the audience '{0}' at {1} with a Result Code of {2} (0 means no errors)", AudienceName, DateTime.Now.ToShortTimeString(), RunJob)); 
     } 
     catch (Exception ex) 
     { 
      CustomMaintenanceTimerJobLogging.LogError(CustomMaintenanceTimerJobLogging.CategoryType.AudienceCompile, ex); 
     } 
    } 

답변

0

내 블로그 게시물 : http://blog.repsaj.nl/?p=258을 확인하십시오. 그곳에 도착하는 데 필요한 모든 것입니다. 전달해야하는 응용 프로그램 ID는 검색 서비스 ID가 아니라 사용자 프로필 ID입니다. ID를 찾기 위해 약간의 반성이 필요합니다.

관련 문제