2012-06-18 3 views
0

기능을 활성화 할 때 추가되는 사용자 정의 타이머 작업을 만들었습니다. 이 기능은 예외없이 활성화됩니다. 그러나 타이머 작업이 중앙 관리의 타이머 작업 정의에 나열되지 않습니다.타이머 작업이 타이머 작업 정의 + Sharepoint 2007에 나열되지 않았습니다.

스테이징 서버에서도 동일한 작업을 수행하고 있지만 프로덕션 서버에서는이를 직면하고 있습니다.

저는 Sharepoint2007에서 작업 중입니다.

다음은 내가 수행 한 작업입니다. 기능 활성화. 기능의

public override void FeatureActivated(SPFeatureReceiverProperties properties) 
     { 
      try 
      { 
       SPSecurity.RunWithElevatedPrivileges(delegate() 
       { 
        SPWeb parentWeb = properties.Feature.Parent as SPWeb; 
        UpdateEmpReferralListTimer taskJob; 
        SPMinuteSchedule schedule; 
        foreach (SPJobDefinition job in parentWeb.Site.WebApplication.JobDefinitions) 
        { 

         if (job.Name == "xyz") 
          job.Delete(); 
        } 
        parentWeb = properties.Feature.Parent as SPWeb; 
        taskJob = new UpdateEmpReferralListTimer("xyz", parentWeb.Site.WebApplication); 
        schedule = new SPMinuteSchedule(); 
        schedule.BeginSecond = 0; 
        schedule.EndSecond = 59; 
        taskJob.Schedule = schedule; 
        taskJob.Update(); 

       }); 
      } 
      catch (Exception Ex) 
      { 
       string str = Ex.Message.ToString(); 
      } 
     } 

범위는 "웹"내 지식

+0

귀하의 질문은 당신이 무엇을하고 있는지의 코드 샘플 누락에게 로그 \. 또한 활성화 된 범위 기능을 명확히하십시오 (또는 아마도 설치를 의미하는 것이 더 많은 의미를 갖습니다). –

+0

@AlexeiLevenkov Code Snippet 및 Scope으로 질문이 업데이트되었습니다. –

답변

0

SharePoint에서 설정 계정 경우 사이트 수준의 기능 활성화 콜백에서 작동 안 (타이머 작업을 생성 등) 관리자 privilegies이 필요한 작업을 수행하기 위해 노력하고있다 . 웹 사이트가 정상적으로 운영되는 계정에는 관리 권한이 없습니다.

동일한 권한을 가진 모든 계정으로 인해 스테이징 서버에서 작동하는 것 같습니다. 프로덕션 서버에서 SharePoint 로그를 확인하여 재실행 /보고하지 않고 예외를 생성하는 코드 (예 : catch (Exception Ex) {...})를 제거한 후 예외를 확인하십시오.

0

귀하의 기능이 오류없이 활성화되었음을 어떻게 알 수 있습니까? 귀하의 코드는 try/catch 블록을 가지고 있으며 catch 블록에서 아무 것도하지 않습니다. 코드에서 오류가 발생하면 catch 블록이 오류를 표시하지 않습니다. catch 블록에이 행을 추가하고 sharepoint 로그를 확인하십시오.

TraceSeverity.Unexpected, str, null);

당신이 C 로그 파일을 찾을 수 있습니다 : \ 프로그램 파일 \ 공용 Files \ Microsoft Shared \ 웹 서버 확장 14 \ 폴더

관련 문제