가능하면 파이프 라이닝을 사용하고 그렇지 않으면 여러 TCP 연결을 사용하여 서버에 여러 HTTP 요청을 보내려합니다. 그러나 HttpWebRequest는 ServicePointManager.DefaultConnectionLimit가 1보다 큰 경우 자동으로 여러 연결을 사용하는 것으로 보입니다.이 값을 1로 설정하면 파이프 라인으로 만 가져올 수 있습니다. 파이프 라이닝을 강제 수행 할 수있는 다른 방법이 있습니까?ServicePointManager.DefaultConnectionLimit을 설정하지 않고 HttpWebRequest에서 강제 파이프 라이닝하는 방법이 있습니까?
1
A
답변
2
HttpWebRequest를 사용하여 파이프 라이닝을 강제로 수행 할 방법이 없습니다. 그러나 서버가 1.1을 준수하고 요청 메소드가 멱등 원 (Idempotent) 인 경우 비동기를 사용하고 한 번에 같은 서버에 여러 요청을 발행 할 경우 파이프 라이닝 가능성이 높아질 수 있습니다. 여러 스레드에서 동기 패턴을 사용할 수도 있습니다. 핵심은 한 번에 둘 이상의 요청을 발행하는 것입니다.
확인해 주셔서 감사합니다. 동기 성은 확장성에있어서 그다지 좋지는 않지만, asynch로 얻는 성능은 충분하다고 생각합니다. – evilfred