2014-10-14 20 views
0

에 의해 발견되지 않고 WCF 요청을 자동으로 취소하려면?어떻게 WCF/웹 <strong>클라이언트</strong>에 의해</strong>을 들키지 않고 WCF 요청 <strong>을 처리 침묵 <strong>취소</strong>에 방법이 있나요 클라이언트

내 웹 서버가 WebHttpBinding이라는 및 80 포트를 듣고 함께 WCF를 사용하여 개발된다.

는 내 말은 클라이언트가 시간 제한까지을 기다릴 수 있도록 하는 것입니다하지만 서버는 이미 웹 클라이언트에 대한 응답을 제공하지 않습니다 요청 및 을 취소했습니다.

최근 인터넷을 통해 wcf 웹 서버를 배포했습니다. 하지만 언젠가 누군가 login.php, admin_login.php와 같은 내 관리 웹 페이지를 스캔하려고합니다. 내 웹 사이트에는 존재하지 않으며 많은 CPU 사용 비용이 소요됩니다. 요청이 다른 포트의 다른 IP 주소에서 나온 것이므로 요청을 차단하기가 어렵습니다. 유일한 해결책은 웹 클라이언트에 알리지 않고 요청 처리를 자동으로 취소하여 검색을 느리게하는 것입니다.

답변

0

하나의 아이디어는 서버에 custom encoder을 구현하는 것입니다. 응답에서 그것이 미리 정의 된 헤더를 보내려고하는 것으로 확인되면 단순히 보내지 않을 것입니다.

Anotehr 아이디어는 DoNothing()이라고하는 더미 연산을 갖는 것입니다. 이 작업은 OneWay로 표시되어야합니다. 구현은 operation selector입니다. 셀렉터에서 실제 작업에 위임해야하는지 더미 방식으로 위임해야하는지 결정하는 논리를 구현하십시오.

두 가지 아이디어가 모두 테스트되지 않았지만 흥미로운 질문입니다. 행운을 빈다.

+0

당신의 아이디어에 감사하지만 마침내 소켓 리스너를 종료하고 웹 브라우저 클라이언트가 무한정 기다리게 할 수있는 소켓이있는 웹 서버를 구현하는 또 다른 방법을 선택했습니다. – mind1n