编程语言
首页 > 编程语言> > c# – .NET Compact Framework,WCF服务,压缩和DIGEST身份验证

c# – .NET Compact Framework,WCF服务,压缩和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的设备发送和检索的数据不是那么敏感,所以我们真正需要做的就是验证它.

标签:c,wcf,compact-framework,windows-ce
来源: https://codeday.me/bug/20190710/1419345.html