Как передать учетные данные в настройках конфигурации defaultProxy? - PullRequest
6 голосов
/ 22 июля 2010

Клиент не может использовать мою веб-часть, потому что он находится за прокси-сервером, и ему необходимо указать имя пользователя и пароль, чтобы пройти прокси.У меня есть это в моем файле конфигурации прямо сейчас:

<system.net>
    <defaultProxy>        
      <proxy usesystemdefault="False" proxyaddress="http://127.0.0.1:8888" bypassonlocal="True"   />
    </defaultProxy>
  </system.net>

Есть ли способ указать имя пользователя и пароль для этой настройки прокси?

1 Ответ

12 голосов
/ 22 июля 2010

Я не знаю, как это сделать в секции defaultProxy файла web.config, но вы определенно можете сделать это из кода. Попробуйте это:

// Get proxy server info from AppSettings section of Web.Config
var proxyServerAddress = ConfigurationManager.AppSettings[ "proxyServerAddress" ];
var proxyServerPort = ConfigurationManager.AppSettings[ "proxyServerPort" ];

// Get proxy with default credentials 
WebProxy proxy =new WebProxy(proxyServerAddress, proxyServerPort);
proxy.Credentials = System.Net.CredentialCache.DefaultCredentials();

Web.Config (раздел конфигурации):

<appSettings>
  <add key="proxyServerAddress" value="proxy.myhost.com" />
  <add key="proxyServerPort" value="8080" />
</appSettings>

А затем назначьте proxy веб-клиенту, который вы используете в своей веб-части.

EDIT:

Если бы я сделал больше домашней работы, я бы понял, что ваша проблема могла бы быть исправлена ​​одним атрибутом: useDefaultCredentials = "true"

<system.net>  
    <defaultProxy useDefaultCredentials="true"> 
        <proxy usesystemdefault="False" proxyaddress="http://127.0.0.1:8888" bypassonlocal="True" />  
    </defaultProxy>  
</system.net>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...