Как передать учетные данные в настройке конфигурации defaultProxy?

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

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

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

1 ответов


Я не знаю, как это сделать в разделе defaultProxy в интернете.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.Конфигурации (см. раздел Конфигурация):

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

и назначить proxy к webClient вы используете в вашем webPart.

EDIT:

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

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