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

标签 c# wcf compact-framework windows-ce

我正在尝试将许多功能放在一起,但事实证明,由于 .NET Compact Framework 的限制,这变得越来越困难。

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

我关注了this blog entry获取 WCF 服务客户端所需的压缩和生成代码。

但是,我正在为 HTTP 摘要而苦苦挣扎。我不知道如何添加此功能。

以前我没有使用压缩,因此我使用 SOAP 连接到 WCF 服务,使用一个简单的 WebService 引用,并添加 HTTP DIGEST 我必须重写 GetWebRequest 方法并添加手动要求的 header 。这一次,生成的类似乎没有什么回旋余地,我也没有什么可以覆盖的。此外,所有安全或身份验证参数似乎都是为 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 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6355233/

相关文章:

asp.net - "The current configuration system does not support user-scoped settings"

.net - Funq IoC Container 是否支持属性注入(inject)?

c# - 使用 DllImport 时在 C# 中包装 C++ 引用参数

c# - 将窗口设置为在MVVM中隐藏后捕获屏幕

c# - 使用 SignalR 和 IProgress 接口(interface)的进度报告

c# - 如何将 wcf 服务添加到现有类库

android - KSoap HTTP 500 错误

WCF 服务 - 在启动时创建多个实例?

c# - Winforms Designer 与构建的 exe 完全不同

visual-studio-2010 - Visual Studio 2010 智能设备项目的预计到达时间