내 웹 역할의 백그라운드에서 실행되는 메시징 서비스를 만드는 중입니다. 웹 역할이 시작되면 하루에 한 번 실행되는 Quartz 작업을 시작하고 이메일을 보냅니다. 유휴 상태로 절대로 절대로 잠들지 않도록 웹 역할을 설정했습니다. 이렇게하면 내 사이트의 활동에 관계없이 내 직무를 실행할 수 있습니다.배포시 Azure 웹 역할 시작
내가 처음으로 배포 한 작업이 처음 시작될 때 사이트를 방문하지 않으면 문제가 발생합니다. 나는 내 웹 서비스가 일부 Azure 마법에 의해 새로운 인스턴스로 옮겨지면 내 이메일 서비스가 실행되지 않을 것이라고 걱정합니다.
작업은 Application_Start 메소드의 Global.asax에서 시작됩니다. 웹 역할이 배포 될 때 자동으로 시작되게하려면 어떻게해야합니까? -Edit-
원래 나는 WebRole.cs ONSTART에서 내 일을 시작하려고했지만, 나는 내 데이터베이스 연결에 대한 엔티티 프레임 워크에서 오류를 얻고 있었다. 그래서 누구든지 WebRole.cs OnStart 내 웹 구성에서 연결 문자열에 액세스하는 방법을 알고 내 질문에 너무 대답 할 것이다.
그래도 문제 일뿐입니다. 내 이메일 서비스는 내 데이터베이스를 쿼리하여 이메일을 생성합니다. 연결은 웹 구성에 있습니다. 이 문제를 해결하는 방법에 대한 제안이 있으십니까? ORM으로 엔티티 프레임 워크를 사용하고 있습니다. –
두 가지 옵션이 있습니다. [WaIISHost.exe.config] (http://blogs.msdn.com/b/windowsazure/archive/2010/12/02/new-full-iis-capabilities-differences-from- hosted-web-core.aspx)이 파일에 연결 문자열을 추가하거나 Visual Studio에서 웹 역할을 열면 서비스 구성 (설정 탭)에 연결 문자열을 저장하고이 문자열로 컨텍스트를 초기화합니다. 'var context = new MyDatabaseContext (CloudConfigurationManager.GetSetting ("MyConnectionString"));' –