Dla usługi sieciowej w języku C#, która kontaktuje się z ograniczonym zestawem innych serwerów, chcę utworzyć 1 pulę połączeń HTTP na serwer, z którymi chcę się skontaktować.Czy jest możliwe łączenie połączeń HTTP?
Podstawowa koncepcja przedmiotu:
- Każda pula powinna otworzyć kilka połączeń (3 połączeń?) Do jego zdalnego serwer i utrzymanie tych połączeń żyje.
- Maksymalny czas życia powinien zostać użyty w celu odtworzenia (rozłączenia/ponownego połączenia) połączeń ze zdalnym serwerem internetowym, aby zapobiec odłączeniu się zdalnego serwera WWW, zanim to zrobimy.
- Połączenia nie powinny być tworzone równocześnie, ale z niewielką przerwą między 3 połączeniami, aby recykling nie odbywał się jednocześnie.
- Jeśli zdalny serwer wciąż rozłącza się nieoczekiwanie, powinien zostać zauważony i powinniśmy się ponownie połączyć.
- Jeśli ponowne połączenie nie jest możliwe z jakiegoś powodu, ponowienie powinno nastąpić po krótkiej przerwie.
W ten sposób, gdy chcę wysłać HttpWebRequest, mam gotowe do użycia połączenia, oszczędzając czas na skonfigurowanie połączenia w momencie, kiedy chcę go użyć.
W tej chwili nie wiem, czy jest to nawet domyślna funkcja HttpWebRequest. Bardzo przepraszam, jeśli pytam o oczywistość. Googling za to tylko doprowadził mnie do podobnych pytań do Javy.
Pytanie 1: czy jest coś takiego w .NET/C#?
Pytanie 2: jeśli nie, czy jest jakiś zasób informacji o tym w Internecie, o których wiesz?
Pytanie 3: jeśli nie, jak podejść do samego budynku?
Powiązane: [Połączenie TCP HTTP] (http://stackoverflow.com/questions/15077526/http-connection-pooling) – slugster
Przepraszam, jeśli źle zrozumiałem twoje pytanie lub jego kontekst, ale nie jest to po prostu wykonane za pomocą WebSockets/long polling w .NET? SignalR będzie dobrze działać. –