2013-02-15 12 views
15

Zastanawiam się, jakie są główne różnice między DefaultWebProxy i GetSystemWebProxy(). W MSDN jest kilka opisów, ale nadal uważam, że potrzebuję trochę więcej szczegółów, aby lepiej je zrozumieć.Jaka jest różnica między WebRequest.DefaultWebProxy i WebRequest.GetSystemWebProxy()?

Również powiedzmy mam następujące opcje konfiguracji proxy na mojej aplikacji C# winform

  1. Automatyczne wykrywanie ustawień serwera proxy
  2. ustawień domyślnych
  3. Zastosowanie systemów
  4. No proxy

Then która metoda przechodzi do której opcji? Czy można powiedzieć, że ustawienia Auto-detect proxy są w pewnym stopniu zgodne z ustawieniami ?

+0

+1, dobre pytanie! –

Odpowiedz

12

Per na MSDN article dla WebRequest.DefaultWebProxy, właściwość ta będzie dostarczenie informacji proxy podany w pliku app.config. Wygląda na to, że .NET Framework v3.5 MSDN Article brakuje tego szczegółowego szczegółu.

Jeśli chodzi o WebRequest.GetSystemWebProxy(), to MSDN article for it stwierdza, że ​​ta metoda zapewni skonfigurowany dla całego systemu serwer proxy (Panel sterowania> Opcje internetowe).


ten sposób chciałbym zaproponować Ci realizować trzy opcje przedstawione:

  1. Automatyczne wykrywanie ustawień serwera proxy
    • zaimplementować własną logikę wykrywania serwera proxy; lub
    • zmienić system ustawiania, aby dopasować ustawienia swojej aplikacji i używać WebRequest.GetSystemWebProxy() (Nie polecam tego podejścia); lub
    • Najlepiej nie włączaj tej opcji i pozwól użytkownikowi korzystać z odpowiedniego ustawienia ogólnosystemowego wraz z opcją "Użyj domyślnych ustawień systemowych";
  2. ustawienia domyślne Zastosowanie systemów
    • Stosować WebRequest.GetSystemWebProxy();
  3. No proxy
    • Upewnić się rozbroić WebRequest.DefaultWebProxy i właściwości WebRequest.Proxy;

Edit: Jeśli nie proxy jest skonfigurowany w app.configWebRequest.DefaultWebRequest początkowo jest taka sama jak WebRequest.GetSystemWebProxy() (przynajmniej dla .NET 4.5).
Dzięki Gabrieliusowi za comment.

+0

Dzięki za odpowiedź, Jesse. Zastanowię się nad sposobami wdrożenia. Zobaczmy, co inni mają do powiedzenia. – woodykiddy

+0

@woodykiddy jesteś mile widziany, ale czy możesz rozwinąć trochę więcej o tym, co próbujesz osiągnąć? Dodatkowo, czy możesz zdefiniować szczegóły, które chcesz wyczyścić, odnoszące się do różnic między 'DefaultWebProxy' i' GetSystemWebProxy() '? – Jesse

+0

Próbuję zapewnić opcje, w których użytkownik może wybrać, czy używać proxy, czy nie. Aplikacja kliencka zastosuje ustawienia proxy przed wywołaniem usługi internetowej. Jak już powiedziałem w swoim poście, po prostu czuję się trochę niepewnie. Wydaje mi się, że te dwa interfejsy API oferują prawie to samo. – woodykiddy

Powiązane problemy