- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 WCF 服务和一个使用该服务的客户端。他们使用 WSHttpBinding 和 MTOM 消息编码。客户端不使用 app.config 文件,而是在代码中完成所有端点配置。这一切在正常环境中都运行得相当好,但是我现在有一些用户试图从 http 代理后面连接到该服务。每当他们尝试连接时,都会收到 407(需要代理身份验证)警告。
我已经成功地使用带有连接到代理的专用网络的虚拟机设置了我自己的测试环境,因此我可以模拟他们所看到的。我试过在 app.config 中设置 system.net useDefaultCredentials 属性,但这似乎没有任何效果。我已经检查了发送的数据包,它们不包含任何 Proxy-Authentication header 。查看通过代理的网络流量,他们确实使用了该 header 。
我也尝试过将代理服务器硬编码到客户端中,但这会产生“无法连接到服务器”异常。检查数据包,客户端向代理发送了 3 个小的,都不是 http 请求,仅此而已。我不确定它在那里做什么。
我什至向客户端添加了一个消息检查器,并手动将所需的 header 注入(inject)到请求中,但 header 中没有显示。
我在这里遇到了麻烦,我真的需要一个解决方案。关于我在这里遗漏的任何想法或解决方案?
这 ( WCF Service with wsHttpBinding - Manipulating HTTP request headers ) 看起来很有希望,但我仍然卡住了。
编辑:这是代码的一部分。
var binding = new WSHttpBinding();
binding.MaxReceivedMessageSize = 100000000;
binding.MessageEncoding = WSMessageEncoding.Mtom;
binding.ReaderQuotas.MaxArrayLength = 100000000;
binding.OpenTimeout = new TimeSpan(0, 2, 0);
binding.ReceiveTimeout = new TimeSpan(0, 2, 0);
binding.SendTimeout = new TimeSpan(0, 2, 0);
binding.Security.Message.ClientCredentialType = MessageCredentialType.UserName;
binding.UseDefaultWebProxy = true;
// I've also tried setting this to false, and manually specifying the binding.ProxyAddress
binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.Basic;
var endpointAddress = new EndpointAddress(new Uri(hostUrl));
clientProxy_ = new UpdaterServiceProxy(binding, endpointAddress);
// this behavior was the attempt to manually add the Proxy-Authentication header
//clientProxy_.Endpoint.Behaviors.Add(new MyEndpointBehavior());
clientProxy_.ClientCredentials.UserName.UserName = userName;
clientProxy_.ClientCredentials.UserName.Password = password;
clientProxy_.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode =
System.ServiceModel.Security.X509CertificateValidationMode.ChainTrust;
// do stuff...
最佳答案
经过大量试验,我取得了一些进展。事实证明,我可以手动指定代理,它会起作用。
WebProxy proxy = new WebProxy("http://x.x.x.x:3128", false);
proxy.Credentials = new NetworkCredential("user", "pass");
WebRequest.DefaultWebProxy = proxy;
该代码出现在我实例化我的 clientProxy_ 之前。我以前试过这个,但它默默地失败了,因为我没有指定端口。我仍然无法让它获取在 Windows Internet 设置中指定的代理设置。我尝试设置 proxy.Credentials = CredentialCache.DefaultNetworkCredentials;
但这似乎也没有效果。
我现在也遇到了客户端尝试使用 ChainTrust 验证服务证书的问题,但对链式证书的请求未使用代理设置。由于这是一个更具体的问题,我在这里单独写了它:Certificate validation doesn't use proxy settings for chaintrust
所以我仍然希望得到更多帮助。
更新:我最终只是在我的应用程序中添加了一个网络配置对话框,以便用户可以指定他们的代理设置。我一直无法让自动代理设置正常工作。
关于c# - 让 WSHttpBinding 通过 http 代理工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10906054/
我想在单个服务中使用 wshttpbinding(带 SSL 和不带 SSL),但它不起作用,任何人都实现了它。所以请指导我如何实现这一目标?
http://blogs.msdn.com/drnick/archive/2007/03/23/preventing-anonymous-access.aspx 有人可以澄清是否可以在 WCF 中使用
我想在 Web 服务上实现 wsHTTPBinding,但我不断收到此错误:“调用者未通过该服务的身份验证”。我看过很多关于这个主题的帖子,但它们要么没有解决我的问题/与我的配置无关,要么“答案”是使
我似乎无法为 wsHTTPBinding 设置消息加密。 我的设置是: IIS 服务器 默认网站需要 SSL 并绑定(bind)到我使用 IIS 自签名证书链接使用的自签名证书。 SSL 允许证书。
我正在尝试使用用户名/密码设置wsHttpBinding。我遇到的问题是如何设置用户名/密码? 我已经设置好了: binding.Security.Mode = SecurityMode.Transp
我有一个 WsHttpBinding 请求-回复服务方法,该方法针对中间层服务(连接到数据库)处理事务,并使用事务 ID 向客户端返回响应消息。 我有几个问题: 如何在客户端收到响应之前检测到意外断开
我已经使用 wsHttpBinding 创建了一个服务,但是每次我下载该服务时,它都会在客户端的配置中创建 basichttpbinding。有什么想法吗?谢谢
顾名思义……现在我正在使用 BasicHttpBinding,但我想知道我是否可以切换到 WSHttpBinding 并且仍然可以与 Java 等互操作。 最佳答案 wsHttpBinding 和较新
我正在尝试使用 wsHttpBinding 添加 WCF 服务到soapUI。 我正在使用消息安全性,它适用于测试客户端,但 SoapUI 返回 An error occurred when veri
在为 WCF 项目编写代码时,我经常遇到 wsHttpBinding。但是,我从未使用过 wsHttp 小号 捆绑。 问题 : 是否 wsHttp 小号 绑定(bind)甚至存在于 WCF 或其自定义
我有一个使用消息安全的负载平衡服务: 我对该服务的所有调用都会打开和关闭它们自己的 channel ,因此建立安全上下文没有任何好处。 我正在使用 W
我在 Internet 托管服务提供商中部署了一个 Web 应用程序。该 Web 应用程序使用部署在我公司应用程序服务器上的 IIS 服务器上的 WCF 服务,为了能够访问公司数据库的数据,出于安全原
我正在尝试在客户端和服务器上设置具有证书身份验证的 WCF 服务。我正在经历 hell ,遍历所有可能的错误消息。 这里的最终目标是使用证书对双方进行身份验证。我将为每个客户颁发一个特定的证书(希望)
这个问题已经有答案了: BasicHttpBinding vs WsHttpBinding vs WebHttpBinding (3 个回答) 已关闭 7 年前。 在 WCF 端点中,basicHtt
我有一个作为 Windows 服务托管的 WCF 服务,客户端是一个使用 WCF 服务方法的 ASP.Net 应用程序。 在实现安全性的过程中,我很困惑 netTcpBinding/wsHttpBin
在使用消息级安全性时是否可以避免必须将证书与 wsHttpBinding 一起使用? 或者是否有任何其他方法可以加密客户端和服务器之间的通信,而无需经历配置证书的麻烦。 最佳答案 如果客户端和服务器都
我有使用 wsHttpBinding 和证书身份验证的 WCF 服务。 我在多台机器上运行此服务,我的防火墙将请求路由到不同的服务器。 问题是当客户端打开代理并与一台服务器一起工作时,在下一次调用时,
根据 http://msdn.microsoft.com/en-us/library/system.servicemodel.wshttpbinding.security.aspx , .NET Fr
我有一个使用 basicHttpBinding 工作的 WCF 服务,我正在尝试将其配置为通过 https 并使用 SQL 成员身份提供程序进行身份验证,为此我正在尝试将其转换为使用 wsHttpBi
如果 silverlight 不支持此绑定(bind),人们通常如何与 WCF 进行 session ? 最佳答案 Silverlight 支持 BasicHttpBinding和 PollingDu
我是一名优秀的程序员,十分优秀!