1

DB에 연결하기 위해 Entity Framework를 사용하는이 ASP.NET 응용 프로그램이 있습니다. 이 응용 프로그램 안에 DB에 다른 작업 (추가, 제거 등)을 제공하는 클래스가 있습니다. 모든 것은 멋장이가됩니다. 이제는 일주일에 한 번 저장소에서 수집 된 정보로 DB를 업데이트하는 Windows 서비스를 만들어야했습니다. 내 ASP.NET 서비스에 대한 참조로 ASP.NET DLL을 추가 할 수 있으므로 거기에 정의 된 작업을 사용할 수 있다고 생각했습니다. 하지만 다음과 같은 오류 얻을 :Windows 서비스에서 데이터베이스 액세스

지정된 이름의 연결이 하나의 구성에서 발견되지 않습니다, 나는 다른 스레드에서 읽을

유효 EntityClient을 제공, 여부와 함께 사용할 수 없습니다 그 I app.config에 연결 문자열을 복사해야하지만 내 Windows 서비스 프로젝트에는 app.config 파일이 없습니다. 어떻게하면 ASP 애플리케이션과 Windows 서비스 모두에서 클래스에 정의 된 EDM 작업을 사용할 수 있습니까?

+1

일주일에 한 번만 필요한 작업을 위해 Windows 서비스를 만들지 않을 것입니다. 서비스는 24 시간 연중 무휴로 운영됩니다. 콘솔 앱을 만들고 주간 작업을 예약하십시오. 연결에 관해서는 : 귀하의 웹 응용 프로그램과 동일한 연결 문자열을 포함하는 콘솔 응용 프로그램에'App.config'를 추가하십시오 (bhuvin의 대답 참조). – Filburt

답변

2

그런 경우 app.config을 작성해야합니다. Copy the connection string in the web app to the app.config with the same name. Windows 서비스가 실행 중이고 EF가 데이터 컨텍스트를 만들려고하면 오류가 표시되는 것을 확인하십시오. 그래서 하나의 app.config 파일을 추가하고 connectionstring을 적절하게 추가해야합니다.

관련 문제