0

데이터베이스에서 데이터를 검색하고 검색된 내용을 파일에 쓰는 C#으로 개발 된 웹 응용 프로그램이 있습니다. 내가해야 할 일은 하루에 한 번씩 데이터를 업데이트하라는 내 서버 (Microsoft 서버)에서이 웹 앱을 정기적으로 실행할 수있게하는 것입니다. 나는 schedular를 사용하여 그것을하는 방법이 될 것이라고 생각하지만 내 웹 응용 프로그램, 즉 내 .sln 파일을 실행하는 방법을 모르겠습니다. 나는 아이디어를 위해 아래 게시물을 보았다 : Running a web app automatically 조금 더 많은 안내가 필요하다.마이크로 소프트 서버에서 스케줄이있는 C# 웹 응용 프로그램

답변

3

당신은 웹 응용 프로그램에 HTTP 요청을 전송하는 콘솔 응용 프로그램을 작성할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 다른 형식의 데이터를 쓰는 writeToFile() 메서드가 있습니다. var result = client.DownloadString (writeToFile()); –

+0

@ 존 D, 물론, 내 대답을 업데이 트하자. 끝난. –

+0

빠른 응답을 주셔서 감사합니다. 좀 더 명확 해지기 위해서. 나는 writeToFile() 메소드에서 실행되는 파일들에 대한 많은 읽기와 쓰기를 가지고있다. 내가 스케줄에서 사용할 수 있도록 그 방법을 메인에서 실행하는 방법은 무엇이겠습니까. –

0

Windows 예약 된 작업을 사용하십시오. 웹 컨텍스트에서 실행해야하는 경우 예약 된 작업에서 처리를 시작하는 URL을 검색하도록하십시오.

class Program 
{ 
    static void Main() 
    { 
     using (var client = new WebClient()) 
     { 
      var result = client.DownloadString("http://example.com/test.aspx"); 
      File.WriteAllText("foo.txt", result); 
     } 
    } 
} 

을 다음 주어진 시간에이 콘솔 응용 프로그램을 실행하려면 Windows 스케줄러를 구성합니다

0

Here은 ASP.NET 페이지가 실행되도록 작업 스케줄러에서 호출 할 수있는 예제 VB 스크립트입니다.

이런 종류의 해결책이 꽤 흔한 경우에도 실제로는 좋은 것이 아닙니다. 매일 실행해야하는 정기적 인 유지 관리 작업이있는 경우 해당 작업을 수행하는 콘솔 앱을 만들어 예약 된 작업에서 직접 호출하십시오. 더 자주 실행해야하거나 다른 이벤트에 응답해야하는 경우 Windows 서비스가 더 좋습니다.

관련 문제