나는 디지털 문서의 처리를 처리하는 C#으로 작성된 Windows 서비스와 PHP로 작성된 웹 응용 프로그램을 보유하고 있습니다. 새 문서를 처리 할 준비가되었음을 C# 서비스에 알릴 수 있어야합니다.PHP에서 C# 서비스로 알림을 보내는 방법은 무엇입니까?
현재 C# 서비스는 수행 할 새 작업이 있는지 확인하기 위해 10 초마다 MySQL 데이터베이스를 읽습니다. 이렇게하면 웹 응용 프로그램의 응답 속도가 10 초 지연됩니다. 문서가 준비되면 즉시 C# 서비스를 트리거 할 수 있어야합니다.
PHP가 C# 서비스에 아무런 지체없이 알릴 수있는 답변을 찾고 있습니다.
다음은 가능한 아이디어입니다.
- PHP와 C# 사이에 공유 메모리 개체를 사용하고 C#의 스레드에서 해당 개체가 신호를받을 때까지 대기합니다. PHP로 가능합니까?
- PHP는 localhost의 소켓을 사용하여 C#에 연결하고 nak를 보내고 연결을 끊습니다. 이것은 나에게 비효율적 인 것처럼 보입니다.
- 인 메모리 테이블을 사용하도록 MySQL을 구성하고 C# 서비스가 매초마다 테이블을 쿼리하도록합니다.
- XML 또는 SOAP을 사용하는 C#에서 일종의 웹 서비스를 만드는 것이 어렵고 PHP를 통해 해당 서비스를 호출 할 때 지연 (+1 초)이 있습니까?
내가 생각할 수있는 전부입니다. 어쩌면 표준 방법이 있습니다.이 방법을 사용해야합니다.
옵션 2와 3은 웹 응용 프로그램은 여러 호스트로 확장 할 수 있도록 자체 호스팅 할 수 있습니다. 그리고 옵션 2와 3 같은 것이 * 드문 경우는 아닙니다. 옵션 1은 단순하지 않습니다. – svidgen
@svidgen 동의합니다. 이를 확장 성으로 여는 것은 좋은 생각입니다. 문서 처리에는 많은 시간이 소요됩니다. – cgTag
새로 추가 된 옵션 4가 가장 일반적인 솔루션처럼 들립니다. M $는 거의 모든 Dynamics 통합 작업에 SOAP 서비스를 사용합니다. 또한 SOAP 서비스를 사용하지도 않습니다. 그들은 또한 폴링을 수행합니다 ... 저 대기 시간이 필요할 때 좋은 방법입니다. 단지 당신이 평소와는 다른 일을하는 것이 아니라 어떤 선택이라도하는 것입니다. – svidgen