Да, можно указать свои собственные учетные данные без изменения текущего кода. Это требует небольшой кусок кода с вашей стороны, хотя.
Создайте сборку с именем SomeAssembly.dll с этим классом:
namespace SomeNameSpace
{
public class MyProxy : IWebProxy
{
public ICredentials Credentials
{
get { return new NetworkCredential("user", "password"); }
//or get { return new NetworkCredential("user", "password","domain"); }
set { }
}
public Uri GetProxy(Uri destination)
{
return new Uri("http://my.proxy:8080");
}
public bool IsBypassed(Uri host)
{
return false;
}
}
}
Добавьте это в ваш конфигурационный файл:
<defaultProxy enabled="true" useDefaultCredentials="false">
<module type = "SomeNameSpace.MyProxy, SomeAssembly" />
</defaultProxy>
Это «внедряет» новый прокси в список, и поскольку учетные данные по умолчанию отсутствуют, класс WebRequest сначала вызовет ваш код и запросит ваши собственные учетные данные. Вам нужно будет поместить сборку SomeAssembly в каталог bin вашего приложения CMS.
Это некоторый статический код, и для получения всех строк, таких как пользователь, пароль и URL, вам может потребоваться реализовать собственный ConfigurationSection или добавить некоторую информацию в AppSettings , что гораздо проще.