2009-07-21 9 views
5

Używam .NET 2.0, aby wykonać proste wywołanie usługi. Z większości maszyn nie muszę robić nic specjalnego. Jednak jeden klient znajduje się w sieci firmowej, która korzysta ze skryptu autoconfig proxy. Prawie wszystko, co mogę znaleźć (np. http://msdn.microsoft.com/en-us/magazine/cc300743.aspx#S3) mówi mi, że nie powinienem robić nic. .NET odczyta ustawienia proxy z rejestru i "po prostu działa". Tak, jasne.Jaki jest właściwy sposób obsługi skryptu autokonfiguracji proxy w celu wywołania usługi sieciowej w .net?

Jeśli klient korzysta z przeglądarki, aby najpierw odwiedzić adres URL usługi internetowej, to moje połączenie z serwisem działa. Jednak po pewnym czasie połączenia z serwisem przestają działać z błędem 407 (Proxy Authentication Required).

Próbowałem jawnie ustawić proxy (zgodnie z sugestią Get Proxy configuration before accessing an external webservice (.NET 2.0)), ale nie miałem szczęścia.

Znalazłem ten MS knowledgebase article z informacjami na temat wywoływania WinHttpGetProxyForUrl w WinHTTP.DLL. Jeśli wyłączysz ustawienie autokonfiguracji z rejestru i użyje go w wywołaniu WinHttpGetProxyForUrl, wydaje się, że działa, ale wydaje się, że po prostu nie ma potrzeby, aby tam iść. Czy ktokolwiek zna "właściwą drogę", aby uzyskać .NET do używania domyślnego skryptu autoconfig proxy IE? Dzięki.

+0

Znalazłem to pytanie SO (http://stackoverflow.com/questions/202547/how-do-i-find-out-the-browsers-proxy-settings) z informacją o funkcji WinHttpGetIEProxyConfigForCurrentUser(). To powinno przynajmniej pozwolić mi uniknąć bezpośredniego dostępu do rejestru. –

Odpowiedz

3

Niezależnie od tego, czy ma działać, czy nie powinienem polegać na skrypcie auto-config dla usług internetowych. Służą one do konfigurowania usług proxy dla przeglądarek internetowych.

Organizacja IT powinna ustalić, który serwer proxy ma być używany na tym komputerze, dla danej usługi WWW, i ustawić go w pliku konfiguracyjnym.

+0

Dzięki John. Chciałbym uniknąć skryptów autokonfiguracji, gdyby program .NET wykonał to zadanie i przezroczysto używał ustawień proxy IE. I tak bardzo chciałbym rzucić to na ich dział IT, wolałbym uzyskać bezużyteczną (jeśli niedoskonałą) rozwiązanie. –

+0

Jeśli korzystał z ustawień IE, używałby tego samego skryptu auto-config, którego używa IE. Tego należy unikać. –

+0

Chyba nie rozumiem, dlaczego skrypty auto-config są w porządku dla wywoływania serwera w celu pobrania strony internetowej, ale nie dla wywoływania serwera w celu uruchomienia usługi sieciowej. –

Powiązane problemy