Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET客户端应用程序:如果使用代理,如何访问Web服务?_.net_Winforms_Proxy - Fatal编程技术网

.NET客户端应用程序:如果使用代理,如何访问Web服务?

.NET客户端应用程序:如果使用代理,如何访问Web服务?,.net,winforms,proxy,.net,Winforms,Proxy,我们正在开发一个.NET2.0WinForm应用程序。应用程序需要访问。然而,我们遇到了代理背后的用户问题 流行的windows备份应用程序(think)提供了一个相当复杂的对话框窗口,专门用于代理设置。然而,在我看来,重新实现另一个代理处理逻辑和GUI完全是浪费时间 使用.NET客户端应用处理代理的最佳方法是什么 更具体地说,我们有一个案例,用户在Internet Explorer中记录了他的代理设置(包括用户名和密码),因此.NET的默认代理行为应该可以工作。然而,用户在启动IE时仍然会被提

我们正在开发一个.NET2.0WinForm应用程序。应用程序需要访问。然而,我们遇到了代理背后的用户问题

流行的windows备份应用程序(think)提供了一个相当复杂的对话框窗口,专门用于代理设置。然而,在我看来,重新实现另一个代理处理逻辑和GUI完全是浪费时间

使用.NET客户端应用处理代理的最佳方法是什么

更具体地说,我们有一个案例,用户在Internet Explorer中记录了他的代理设置(包括用户名和密码),因此.NET的默认代理行为应该可以工作。然而,用户在启动IE时仍然会被提示输入用户名和密码(这两个字段都是预先完成的,用户只需单击OK即可),而且我们的winform应用程序仍然无法处理代理


我们应该做些什么来强制用户在启动IE时不被提示输入用户名和密码?

最简单的方法是使用IE Explorer中的代理设置。

研究使用.NET类。它支持自动选择正确的默认设置。

使用WebProxy和WebRequest类。只需将其包装到您自己的库中一次,并在您想使用代理的任何地方使用。

将其放入应用程序的配置文件中:

<configuration>
  <system.net>
    <defaultProxy>
      <proxy autoDetect="true" />
    </defaultProxy>
  </system.net>
</configuration>


您的应用程序将使用IE中的代理设置。如果您可以使用代理服务器在IE中看到您的web服务,您应该能够从应用程序中“看到”它。

如果打开IE,请单击代理对话框中的“确定”,然后(保持IE打开)尝试连接您的winforms应用程序,您的应用程序是否正常工作?或者你的应用程序无论如何都无法处理代理吗?

遇到代理问题的客户是否都在同一个网络上(即,他们是否都使用同一个代理服务器)?

我认为提问者明白如果用户需要代理,他必须使用WebProxy,问题是“我如何获得IE的代理设置,这样我就不必要求用户也在我的应用程序中键入这些设置?”

System.Net.WebProxy.GetDefaultProxy已过时,您必须使用System.Net.WebRequest.DefaultWebProxy。上有一篇文章对此进行了描述