是的,可以在不修改当前代码的情况下指定您自己的凭据。不过,它需要您的一小段代码。
使用此类创建一个名为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 类将首先调用您的代码并请求您自己的凭据。您需要将 assemble SomeAssembly 放在 CMS 应用程序的 bin 目录中。
这是一个静态代码,要获取所有字符串,如用户、密码和 URL,您可能需要实现自己的ConfigurationSection ,或者在AppSettings中添加一些信息,这要容易得多。