在访问外部 Web 服务 (.NET 2.0) 之前获取代理配置
Posted
技术标签:
【中文标题】在访问外部 Web 服务 (.NET 2.0) 之前获取代理配置【英文标题】:Get Proxy configuration before accessing an external webservice (.NET 2.0) 【发布时间】:2008-11-12 16:32:02 【问题描述】:当尝试调用外部 Web 服务(通过 Internet)上的方法时,它会抛出我 “远程服务器返回错误:(407) 需要代理身份验证。”
为了解决这个问题,我使用下面的代码来设置我们在办公室使用的代理:
//Set the system proxy with valid server address or IP and port.
System.Net.WebProxy pry = new System.Net.WebProxy("MyHost", 8080);
//The DefaultCredentials automically get username and password.
pry.Credentials = System.Net.CredentialCache.DefaultCredentials;
System.Net.WebRequest.DefaultWebProxy = pry;
这很好,但现在...我需要做“更少的编码”,试图从我的系统中获取信息,而不是手动设置。
【问题讨论】:
【参考方案1】:这将使用我认为的 IE 的默认代理(未弃用):
Services.MyService service = new Services.MyService();
service.UseDefaultCredentials = true;
service.Proxy = new System.Net.WebProxy();
service.Proxy.Credentials = service.Credentials;
【讨论】:
【参考方案2】:System.Net.WebProxy.GetDefaultProxy() 尽管 VS 警告它已被弃用。
【讨论】:
你需要 GetDefaultProxy().Address以上是关于在访问外部 Web 服务 (.NET 2.0) 之前获取代理配置的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 .net 框架 2.0 在 Web 服务中使用 Web api
应用程序中断访问 dbcontext、Asp .net 核心 web api 2.0 与实体框架核心 2.0 数据库第一种方法