2009-06-20 16 views
5

Potrzebuję do korzystania z usługi WCF, ale jestem za serwerem proxy i ten serwer proxy wymaga nazwy użytkownika i hasła.Uwierzytelnianie serwera proxy dla usługi WCF

nie mogę znaleźć sposób, aby to zmienić, jeśli było to Web Service, mogę po prostu zrobić coś podobnego

ws.Proxy = myProxyServer; 

Jak mogę to zrobić z usług WCF?

+0

Posiadanie odpowiedzi byłoby miło, dzięki. –

Odpowiedz

7

w wiązaniu config WCF, należy użyć właściwości useDefaultWebProxy aby WCF używać proxy domyślnego okna (który może być ustawiony od sieciowej konfiguracji IE):

<bindings> 
<basicHttpBinding> 
<binding name="ESBWSSL" ...everything... useDefaultWebProxy="true"> 

Następnie w kodzie, przed rozpoczęciem korzystania z połączenia , to zrobić:

WebProxy wproxy = new WebProxy("new proxy",true); 
wproxy.Credentials = new NetworkCredential("user", "pass"); 

i swoim WebRequest obiektu przed wykonaniem połączenia:

WebRequest.DefaultWebProxy = wproxy; 

Nie testowałem kodu, ale uważam, że powinno to zadziałać.

+0

co z nazwą użytkownika i hasłem? –

+0

Witaj Hans, właśnie dodałem dodatkowe informacje. Czy możesz tego spróbować? Nie używałem go, ale powinno działać. –

+0

@Eduardo: używa WCF. Czy jesteś pewien, że WCF używa właściwości WebRequest.DefaultProxy? –

0

Uwaga zastępuje poprzednią odpowiedź opiera się na komentarzu

Było faktycznie inna odpowiedź stackoverflow że pokryte ustawiania poświadczeń na pełnomocnika.

Is it possible to specify proxy credentials in your web.config?

+0

Myślę, że chce mieć możliwość ustawienia uwierzytelniania dla serwera proxy. Ponadto może to pomóc w pokazaniu, w jaki sposób kod je ustawił: na przykład gdzie "klient" pochodził z twojego przykładu? –

+0

tak .... uwierzytelnianie dla serwera proxy ... –

Powiązane problemy