加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 21:20:02 所属栏目:百科 来源:网络整理
导读:我正在尝试将许多功能放在一起,由于.NET Compact Framework的限制,这一点变得越来越困难. 具体来说,我有一个WCF服务,我正在为它编写一个移动设备客户端.抓到了吗?我想使用某种数据压缩(由于连接到所述设备的调制解调器非常慢)和HTTP DIGEST身份验证(已经在
我正在尝试将许多功能放在一起,由于.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的设备发送和检索的数据不是那么敏感,所以我们真正需要做的就是验证它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读