c# – .NET Compact Framework,WCF服务,压缩和DIGEST身份验证

c# – .NET Compact Framework,WCF服务,压缩和DIGEST身份验证,第1张

概述我正在尝试将许多功能放在一起,由于.NET Compact Framework的限制,这一点变得越来越困难. 具体来说,我有一个WCF服务,我正在为它编写一个移动设备客户端.抓到了吗?我想使用某种数据压缩(由于连接到所述设备的调制解调器非常慢)和HTTP DIGEST身份验证(已经在托管WCF服务的站点上实现). 我已经按照this blog entry获取了WCF服务客户端所需的压缩和生成代码. 我正在尝试将许多功能放在一起,由于.NET Compact Framework的限制,这一点变得越来越困难.

具体来说,我有一个WCF服务,我正在为它编写一个移动设备客户端.抓到了吗?我想使用某种数据压缩(由于连接到所述设备的调制解调器非常慢)和http DIGEST身份验证(已经在托管WCF服务的站点上实现).

我已经按照this blog entry获取了WCF服务客户端所需的压缩和生成代码.

但是,我正在努力使用http DIGEST.我不知道如何添加此功能.

以前我没有使用压缩,因此我使用SOAP连接到WCF服务,使用简单的WebService引用,并添加http DIGEST我必须覆盖GetWebRequest方法并手动添加所需的头.这次生成的类似乎给了很少的回旋余地,我没有太多可以覆盖.此外,所有安全或身份验证参数似乎都是针对SSL而不是基本身份验证方案而设计的.

总结一下:如何使用.NET Compact Framework使用压缩和http DIGEST身份验证创建WCF客户端?

编辑:
这是我目前得到的代码:

System.ServiceModel.Channels.CustomBinding customBinding = new System.ServiceModel.Channels.CustomBinding();        CompressionMessageEnCodingBindingElement compressionBindingElement = new CompressionMessageEnCodingBindingElement();        customBinding.Elements.Add(compressionBindingElement);        httpTransportBindingElement httpBindingElement = new httpTransportBindingElement();        customBinding.Elements.Add(httpBindingElement);        EndpointAddress endPoint = new EndpointAddress("http://localhost:5100/Service.svc");        ServiceClIEnt clIEnt = new ServiceClIEnt(customBinding,endPoint);

我怀疑我在某种程度上需要将http DIGEST功能添加到CustomBinding类,但我不知道如何.

我怀疑我还应该注意,当我使用.NET Compact Framework 3.5时,我正在创建一个windows CE应用程序.因此,我没有打扰下载windows Mobile 6 SDK.如果这些SDK添加了更多可以在Window CE应用程序中使用的功能,并且是http DIGEST工作所必需的,请告诉我.

解决方法 我们最终禁用了运行.NET CF的设备的DIGEST身份验证.它不那么安全,但我们认为在我们的情况下运行.NET CF的设备发送和检索的数据不是那么敏感,所以我们真正需要做的就是验证它. 总结

以上是内存溢出为你收集整理的c# – .NET Compact Framework,WCF服务,压缩和DIGEST身份验证全部内容,希望文章能够帮你解决c# – .NET Compact Framework,WCF服务,压缩和DIGEST身份验证所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1228139.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存