2012-01-15 3 views
1

일일 이벤트를 예약하기 위해 Azure 작업자 역할에 Quartz.NET을 설정하려고합니다. 많은 시행 착오 후, 대상 방법 내 코드 한 줄의 포함이 Quartz.NET example 오프 이벤트가 모든특정 코드가 메서드에있을 때 Quartz.NET이 트리거되지 않음

건물에서 트리거되지 일으키는 것으로 나타났습니다, 나는 IJob 클래스하여이 재정의 된 Execute 메서드 (스케줄러 & 트리거로 등록됨).

문제가되는 행 (주석 처리 됨)이 제거되면 Trace.WriteLine 문에서 중단 점에 도달 할 수 있습니다. 현재 상태에서 중단 점이 절대 중단되지 않으며 출력이 다른 곳에 표시되지 않습니다.

코드 :

public class MyUpdaterJob : IJob 
{ 
    public MyUpdaterJob() 
    { 
    } 

    public void Execute(JobExecutionContext context) 
    { 
     Trace.WriteLine("-- Yay - Job called"); 

     // Removing this line will result in the breakpoint above being able to be hit 
     MyUpdateWorker updateWorker = new MyUpdateWorker(); 

     var logDate = context.FireTimeUtc.Value.AddHours(-1); 

     // [...] 
    } 
} 

나는 그것이 평가 될 수 무엇인지에 상당히 손실에있어 그가이 이벤트를 트리거하지 않는 원인이 될 수 있습니다. 어떤 제안?

  • 'MyUpdateWorker은'이 현재

답변

0

와우 (두 커피 그래서 난 아직 워밍업있어 오늘 아침에했다).

이 프로젝트의 '유기적 인'성장의 결과로 IJob 구현을 포함하는 라이브러리는 이전에 콘솔 앱이었으며 몇 주 전에 출력을 '클래스 라이브러리'로 전환했습니다.

플랫폼 대상이 x86 만 사용 가능하도록 설정되었습니다. 다른 모든 것들은 'Any CPU', 아마도 64 비트로 컴파일되고있었습니다.

.csproj 파일을 수동으로 편집하여이를 업데이트해야했지만 이전의 console-project-now-library가 모든 CPU로 설정되면 올바르게 트리거됩니다.

1

나는 내가 그 있는지 확인하려면 MyUpdateWorker() 클래스의 생성자를 확인 거라고 생각 푸른 작업자 역할로 실행하는 다른 라이브러리

  • 에 모두 괜찮아요. 아마 진단 로그에 로그를 남겨서 거기에 원인을 나타낼 수 있는지 확인할 수 있습니다. 일반적으로 Azure에서 누락 된 라이브러리의 문제점을 볼 수 있으므로 아마도 의존성이 누락되었습니다. 이것이 이상한 일이었다 - 그냥 몇 가지 확인

  • 관련 문제