데이터베이스를 유지 관리하는 데 사용될 Windows 서비스에서 호스팅되는 구성 항목에 사용하는 WCF 서비스가 있습니다. 호스팅 서비스 내부에서 WCF 서비스에 액세스 할 수있는 방법이 있습니까? 아니면 데이터베이스 기능을 다른 WCF 서비스로 옮겨서 Windows 서비스 내부에서 호스팅해야합니까?WCF 서비스와이를 호스팅하는 Windows 서비스간에 통신 할 수 있습니까?
2
A
답변
3
서비스 클래스 (서비스 인터페이스를 구현하는 하나)은 귀하가 서비스를 호스팅하는 ServiceHost
인스턴스에 액세스 할 수 있습니다 속성
OperationContext.Current.Host
있습니다. 꽤 쉽게 해당 서비스 호스트에 액세스 할 수 있습니다.
서비스 호스트를 넘어서서 서비스 호스트가 포함 된 NT 서비스를 조작하거나 쿼리 할 수있는 기본 제공 방법이 없습니다. 하지만 항상 NT 서비스 자체에 필요한 액세스 권한을 부여하는 사용자 지정 ServiceHost 자손 클래스를 만든 다음 서비스 구현을 위해 해당 사용자 지정 서비스 호스트를 사용할 수 있습니다.
사용자 지정 서비스 호스트를 사용하면 기본적으로 ServiceHost
에서 자손을 만들고 필요한 작업을 수행 할 수 있습니다.
1
서비스에 전화 할 수 있는지 여부를 묻는 "액세스"가있는 경우 서비스가 자체 클라이언트가 될 수 있습니다.
웹 서비스라는 사실과 실제 작업을 수행하는 다른 모든 부분으로 서비스를 분리하는 것이 더 좋을 수도 있습니다. Windows 서비스에서 후자의 부분을 호출하게하십시오.
0
내가하는 일은 사용자 지정 InstanceProvider를 사용하여 WCF 서비스의 생성자에 공유 개체를 전달하는 것입니다. 이렇게하면 WCF 서비스에 기본이 아닌 생성자를 사용할 수 있습니다.
공유 개체를 사용하면 WCF 서비스가 Windows 서비스 (또는 공유 개체에 액세스 할 수있는 다른 개체)와 "대화"할 수 있습니다.
관련 문제
- 1. 클라이언트와 WCF 서비스간에 인증이 실패했습니다.
- 2. Windows 서비스에서 wcf 서비스를 호스팅하는 이유는 무엇입니까?
- 3. IIS에서 호스팅하는 WCF 서비스를 Windows 인증 및 익명 모두에 대해 구성 할 수 있습니까?
- 4. 여러 WCF 서비스가 서로 통신 할 수 있습니까?
- 5. VB6에서 WCF Windows 서비스와 통신 하시겠습니까?
- 6. WCF 통신 예외
- 7. 웹 서비스간에 결과 집합을 전송할 수 있습니까?
- 8. WPF 클라이언트가 네트워크를 통해 WCF Windows 서비스와 통신 할 수 있습니까?
- 9. Windows 인증이 있고 익명 액세스가없는 IIS에서 WCF 서비스를 호스팅하는 경우
- 10. 서비스간에 동일한 DataContract 사용
- 11. WCF - 클라이언트 - 서버 통신
- 12. IIS의 Windows 7 및 Windows 2008 Server에서 net.tcp wcf 서비스를 호스팅하는 데 차이가 있습니까?
- 13. WCF 서비스 및 장치와의 통신
- 14. PHP가 XSLT와 통신 할 수 있습니까?
- 15. JBoss 인스턴스가 통신 할 수 있습니까?
- 16. iPhone은 컴퓨터와 어떻게 통신 할 수 있습니까?
- 17. COM 개체를 통해 통신 할 수 있습니까?
- 18. Python이 SVN과 자동으로 통신 할 수 있습니까
- 19. 애플릿이 서블릿 인스턴스와 통신 할 수 있습니까?
- 20. Silverlight는 MIDI 악기와 통신 할 수 있습니까?
- 21. Windows 서비스에서 WCF 서비스를 호스팅 할 수 있습니까?
- 22. .NET Remoting Service가 WCF와 통신 할 수 있습니까?
- 23. WCF 통신 문제
- 24. Windows 서비스를 어떻게 테스트 할 수 있습니까?
- 25. Win2008에서 이상한 통신 오류가 발생했습니다.
- 26. WCF 이중 통신
- 27. wcf 및 asp.net 통신
- 28. wcf 및 이중 통신
- 29. SSIS 작업을 ASP.NET MVC 사이트와 어떻게 통신 할 수 있습니까?
- 30. 안정적인 WCF 웹 서비스를 호스팅하는 방법
나는 그것을 할 수 있는지 몰랐다. 꽤 멋진. – InTheFlatField
OperationContext.Current.Host에서 반환 한 참조를 MyCustomServiceHost 클래스로 캐스팅해야합니다. 그리고 내 wcf 서비스 프로젝트가 Windows 서비스 프로젝트에서 참조되므로이 사용자 정의 ServiceHost 클래스는 wcf 프로젝트 내에 있어야합니다. 그래서 나는 뭔가를 놓치지 않는 한 까다로워진다. – maulik13
@ Maulik13 : 자신의 'MyCustomServiceHost'의 * custom * 기능을 사용하려면 - 그렇다면 해당 유형의 변수에 대한 참조를 캐스팅해야합니다. 그리고 ** NO **, 커스텀 서비스 호스트 클래스는 WCF 프로젝트 안에있을 필요가 없습니다. 기본적으로 어느 곳에서나 사용할 수 있습니다 (물론 WCF 프로젝트에 대한 ** 참조 **가 필요합니다). –