c# - 从代理服务器后面添加 Web 服务引用

标签 c# asmx proxy-authentication

我使用的是 vs2010。在一个简单的控制台应用程序中,我尝试添加对旧 asmx 服务 http://***/service1.asmx 的服务引用。 我的电脑在代理服务器后面,所以我得到一个错误:

"The remote server returned an unexpected response: (407) Proxy Authentication Required."

当我使用 wsdl 工具时,我无法定义代理服务器端口号,并且我收到消息说服务器(例如 10.0.0.3:80)没有响应,但我需要指定 8080 端口并且不知道如何指定。我如何创建引用?

最佳答案

我花了将近 50 个小时来寻找问题,在网络上找不到任何地方这个简单的解决方案。

在 Web.config 的“配置”部分下添加:

  <system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy>
</system.net>

然后就像魅力一样工作!

你也可以从后面的代码中做到这一点:

serviceConnection = new WebService1();
serviceConnection.Proxy = System.Net.HttpWebRequest.GetSystemWebProxy();
serviceConnection.Proxy.Credentials = CredentialCache.DefaultCredentials; 

作品很漂亮!!

如果您需要从 HTTPS 位置消费,请添加此配置:

<message clientCredentialType="Certificate" algorithmSuite="Default" />

关于c# - 从代理服务器后面添加 Web 服务引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7386452/

相关文章:

c# - C#:在列表中查找类字段

c# - 使用 GetWebRequest 修改 SOAP 请求

go - 我如何验证用户 :pass proxy in golang

java - java中的客户端Web服务——代理认证

c# - 有没有更简单的方法来解析和解决 C# 中的表达式?

c# - 中继器内的多个更新面板触发器

c# - GetWindowRect 不同于 Window.Left

web-services - Asp.net 路由、Web 服务和 IIS7 经典

c# - ASMX 返回纯字符串