你问这个问题已经有一段时间了,如果有点晚了,对不起!
这是什么似乎是
经核准的
做到这一点:
1-创建自己的代理程序集:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Configuration;
namespace ProxyAssembly
{
public class MyProxy:IWebProxy
{
#region IWebProxy Members
ICredentials IWebProxy.Credentials
{
get
{
return new NetworkCredential(ConfigurationSettings.AppSettings["googleProxyUser"],ConfigurationSettings.AppSettings["googleProxyPassword"],ConfigurationSettings.AppSettings["googleProxyDomain"]);
}
set { }
}
public Uri GetProxy(Uri destination)
{
return new Uri(ConfigurationSettings.AppSettings["googleProxyUrl"]);
}
public bool IsBypassed(Uri host)
{
return Convert.ToBoolean(ConfigurationSettings.AppSettings["bypassProxy"]);
}
#endregion
}
}
2-将所需的密钥放入web.config:
<add key="googleProxyUrl" value="http://proxy.that.com:8080"/>
<add key="googleProxyUser" value="service"/>
<add key="googleProxyPassword" value="BadDay"/>
<add key="googleProxyDomain" value="corporation"/>
<add key="bypassProxy" value="false"/>
3-将defaultproxy节放入web.config中
<configuration>
<system.net>
<defaultProxy>
<module type="ProxyAssembly.MyProxy, ProxyAssembly"/>
</defaultProxy>
</system.net>
</configuration>
现在,来自应用程序的所有请求都将通过代理。那是
所有
请求——也就是说,我不认为你可以选择在程序上使用它,
每一个
资源请求将尝试通过代理!例如:使用DTD文档、WebService调用等验证XML。
干杯,
兰斯