현재 수신 데이터의 직렬 포트를 모니터링하고 데이터를 처리하며 수신 된 데이터를 기반으로하는 대리자/이벤트를 통해 이벤트를 발생시키는 클래스가 있습니다. 이것은 독립 실행 형 응용 프로그램입니다. 이제는 서비스로 변환해야하므로 직렬 포트 모니터 클래스는 Windows가 시작될 때 서비스로 시작되고 클라이언트 응용 프로그램은 원격 PC 또는 로컬 시스템의 이벤트를 구독합니다. 이런 종류의 응용 프로그램에 WCF를 사용하는 것에 대한 많은 기사를 보았습니다. 그러나 WCF는 메시지를 기반으로하며 클라이언트 요청시 서비스를 만듭니다. 하지만 내 요구 사항은 서비스가 자동으로 시작되고 클라이언트 응용 프로그램이 시작 중에 이미 생성 된 서비스 클래스 인스턴스의 이벤트에 가입 할 수 있어야한다는 것입니다. 어떻게 이것을 WCF를 사용하여 얻을 수 있습니까?WCF 서비스를 사용하여 이벤트 처리
는
1
A
답변
1
WCF의 기본 동작은 각 들어오는 요청을 처리하는 서비스 클래스의 새 인스턴스를 만드는 것입니다,하지만 당신은 당신의 클래스를 장식하여이를 대체 할 수 있습니다 :
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
는 싱글과 좋은 성능을 얻으려면 당신은 가능성이 싱글 인스턴스의 일부 구성을 수행해야하기 때문에
- 당신이 아마 싱글 걸리는
ServiceHost
생성자 방법을 사용하는 것이 좋습니다 :하지만, 당신이 생각해야 할 몇 가지가있다 인스턴스를 인수로 사용합니다. (예 : Figure 8 Initializing and Hosting a Singleton in this article - 스레딩 : 기본 스레딩 모델 (
ConcurrencyMode
)은 한 번에 하나의 스레드 만 Singleton 인스턴스에 액세스 할 수 있도록 허용하므로 성능을 높이려면ConcurrencyMode = ConcurrencyMode.Multiple
을 사용해야합니다. 스레딩 관련 문제를 스스로 처리해야합니다.) - 콜백 계약의 메소드가
[OperationContract(IsOneWay = true)]
으로 표시되어 구독자에게 게시 이벤트가 전달 되어도 이벤트 처리기가 완료 될 때까지 서비스 인스턴스가 차단되지 않도록하십시오. . (이런 식으로 WCF를 사용하면 covered in detail in this article by Juval Lowy
관련 문제
- 1. WCF 데이터 서비스를 사용한 예외 처리
- 2. 제네릭을 사용하여 이벤트 처리
- 3. WCF 서비스를 사용하여 MembershipUser를 반환하십시오.
- 4. 인증서를 사용하여 WCF 서비스를 보호해야합니다.
- 5. Windows 서비스의 이벤트 처리
- 6. WCF 비즈니스 논리 처리
- 7. WCF 동시 처리 문제
- 8. WCF 서비스를 사용하여 asmx 웹 서비스를 일시적으로 Facading하는 중
- 9. WCF 서비스를 테스트하기위한 전략
- 10. WCF 오류 처리
- 11. WCF 서비스를 디버깅하는 방법?
- 12. WCF 휴식 오류 처리
- 13. WCF 서비스를 사용하려면 프록시를 사용해야합니까?
- 14. WCF 데이터 서비스를 사용하여 데이터베이스의 레코드 업데이트
- 15. wcf 서비스를 사용하여 SQL 테이블 업데이트
- 16. WCF 서비스를 사용하여 MSMQ에 메시지 보내기
- 17. acs를 사용하여 wp7 앱과 wcf 서비스를 인증합니다.
- 18. WCF 서비스를 사용하여 Silverlight 프로젝트 디버깅
- 19. TFS 2010 WCF 서비스를 사용하여 SharePoint 빌드
- 20. JSON이 WCF 서비스를 사용하여 null 값을 반환합니다.
- 21. WCF 서비스를 사용하여 비누 응답을 구현하는 방법
- 22. Mono를 사용하여 WCF 서비스를 만드는 방법은 무엇입니까?
- 23. WCF PerCall 서비스를 사용하여 리소스를 보호하는 방법
- 24. WCF 서비스를 사용하여 인스턴스화 된 클래스 전달
- 25. Silverlight를 사용하여 WCF 서비스를 디버깅하는 방법
- 26. WCF 데이터 서비스를 사용하여 액세스 제한
- 27. IIS Express를 사용하여 WCF 서비스를 게시하는 방법?
- 28. SSL을 사용하여 WCF 서비스를 실행할 수 없습니다.
- 29. jQuery를 사용하여 WCF 서비스를 사용하는 경우
- 30. WCF Rest 서비스를 사용하여 파일을 다운로드 하시겠습니까?
답장을 보내 주셔서 감사합니다. 나는 무엇을 찾고 있는가? 나는 많은 것들을하는 한 반을 가지고있다. 기본적으로 WCF에 대해서만 클래스를 변경하고 싶지 않습니다. 나는 훌륭한 링크를 "http://msdn.microsoft.com/en-us/magazine/cc163537.aspx"라고 생각했다. 게시자와 구독자는 두 가지 다른 서비스입니다. –