我正在尝试将许多功能放在一起,由于.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的设备发送和检索的数据不是那么敏感,所以我们真正需要做的就是验证它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。