2013-04-29 1 views
1

나는 윈도우 서비스를 실행하는 시나리오를 가지고있다. asp.net 웹에서 특정 예외가 발생할 때마다 창 서비스를 호출하거나 asp.net 웹에서 내 창 서비스에 메시지를 보내고 창 서비스는 해당 메시지를 수신하면 전자 메일을 생성합니다. 이 시나리오에 가장 적합한 최적의 솔루션은 무엇입니까? 어떤 종류의 wcf 서비스 나 공유 데이터베이스를 사용해야합니까? 이 점을 안내 해주십시오.Window Service에 메시지 보내기 Asp.net에서?

답변

0

메시징이 MSMQ를 사용하는 방식과 매우 비슷합니다. asp.net에서 예외를 게시 할 수있는 공유 된 장소가 필요하며 이는 서비스에 의해 선택됩니다. 다양한 옵션을 사용할 수 있습니다. 그 중 하나는 MSMQ를 사용하여 데이터를 대기열에 게시 할 수 있으며 서비스에서 읽을 수 있습니다. MSMQ 및 코딩 측면을 설치하는 데 관심이있는 경우. 데이터베이스가 최상의 솔루션이 될 것입니다. 모든 정보가 포함 된 예외 메시지를 기록 할 수있는 테이블이 있어야합니다. 이제 서비스가 레코드를 선택하여 처리하고 완료로 표시합니다. 처리 후 또는 레코드 삭제 두 가지 방법을 사용할 수 있습니다. 이렇게하면 데이터베이스를 매우 가볍고 빠르게 사용할 수 있습니다. 다른 접근법은 POSTED, PROCESSING 및 COMPLETED와 같은 상태로 플래그를 유지하는 것입니다. 현재 PHP 프로젝트에서 같은 방법을 사용하고 있지만 mongoDB, NoSQL : https://github.com/gaillard/mongo-queue-csharp을 사용하는 곳에서도 C# 방식을 사용할 수 있습니다. 직접적으로 WCF에 게시하는 것은 좋은 아이디어가 아닐 수 있습니다. 중간에 오류가 발생하면 영원히 메시지를 잃어 버리게됩니다.

+0

종합적으로 설명해 주셔서 감사합니다. 귀하의 회신에 비추어 나는이 [link] (http://www.c-sharpcorner.com/UploadFile/6897bc/understanding-and-using-msmq/)을 검색하여 매우 유용하다고 생각했습니다. – touseefkhan4pk