최근에 WCF 서비스 (dll)와 서비스 호스트 (exe)를 만들었습니다. WcfTestClient에 서비스를 성공적으로 추가 할 수 있으므로 내 WCF 서비스가 올바르게 작동하고 있음을 알고 있습니다.
그러나 서비스 호스트 (exe)에서 내 WCF를 사용할 때 문제가 발생하는 것 같습니다. 내 서비스 호스트 (exe)에 WCF (dll)에 대한 참조를 추가하고 exe에 필요한 구성 요소를 만들 수 있습니다. 서비스 설치 프로그램, 서비스 호스트 및 app.config와 같은, 컴파일 한 다음 마지막으로 InstallUtil을 사용하여 exe를 설치합니다. 그러나 Microsoft Management Console에서 서비스를 시작하려고하면 서비스가 시작된 후 즉시 중지됩니다.
그래서 이벤트 뷰어의 응용 프로그램 로그에서이 오류가 발생한 원인이 정확히 무엇인지 조사하기 시작했습니다.
기술:
서비스를 시작할 수 없습니다. System.InvalidOperationException : 서비스 '서비스'에 응용 프로그램 (비 인프라) 끝 점이 없습니다. 이는 애플리케이션에 대한 구성 파일이 없거나 구성 파일에서 서비스 이름과 일치하는 서비스 요소를 찾을 수 없거나 서비스 요소에 정의 된 엔드 포인트가 없기 때문일 수 있습니다.
이 오류는 실제로 생성됩니다 OnStart
. 이 호출을 수행 할 때 내 exe의 ServiceHost.Open()
. 나는 다른 사람들이이 문제를 겪은 수많은 게시물을 보았지만, 전부는 아니더라도 대부분은 서비스 이름이나 계약을 주장합니다. 네임 스페이스 및 클래스 이름이 지정되지 않았습니다. 내 구성 파일에서이 두 항목을 모두 확인했습니다. exe뿐만 아니라 dll에서도 완벽하게 일치합니다. 나는 사무실에있는 다른 사람들에게 내가 한 번에 눈이 멀지 않았는지 다시 확인하도록했지만, 물론 그들은 모든 것이 올바르게 지정된 것처럼 보인다는 동일한 결론에 도달했습니다. 나는이 시점에서 무슨 일이 일어나고 있는지 정말로 잃어 버렸다. 누구든지이 문제로 나를 도울 수 있습니까?
이 문제가 발생할 수있는 또 다른 이유는 app.config가 읽히지 않는다는 것입니다. 적어도 내가 읽어야한다고 생각하는 것은 아닙니다. 이것이 문제일까요? 그렇다면이 문제를 어떻게 해결할 수 있습니까? 다시 한 번 모든 도움을 주시면 감사하겠습니다.