我想知道DefaultWebProxy
和GetSystemWebProxy()
之间的主要区别是什么。在MSDN上有一些描述,但我仍然觉得我需要更多细节才能更好地理解。
另外,假设我在C#winform应用程序上有以下选项进行代理配置
然后哪种方法选择哪个方法?说Auto-detect proxy
有点等于Use system default
设置是对的吗?
答案 0 :(得分:15)
根据WebRequest.DefaultWebProxy
的{{3}},此属性将提供app.config
文件中指定的代理信息。看起来MSDN article缺少这个具体细节。
就WebRequest.GetSystemWebProxy()
而言,.NET Framework v3.5 MSDN Article表示此方法将提供系统范围的配置代理(控制面板> Internet选项)。
我建议您实施以下三个选项:
WebRequest.GetSystemWebProxy()
(我不推荐此方法); 或强> WebRequest.GetSystemWebProxy()
; WebRequest.DefaultWebProxy
和WebRequest.Proxy
属性; 修改:如果 app.config中没有配置代理 WebRequest.DefaultWebRequest
几乎与WebRequest.GetSystemWebProxy()
相同(至少对于.NET 4.5)。区别在于WebRequest.GetSystemWebProxy()
将运行PAC脚本(如果有)用于代理定义
感谢MSDN article for it和Gabrielius以下评论。