3

我们正在向 Windows Mobile 客户端添加功能,以将数据发送到 .NET 服务。不幸的是,svcutil.exe 创建的 .cs 类会为 Compact Framework 生成不可用的代码。(该名称在紧凑框架中不存在)

是否有替代或第 3 方类或解决方法或任何其他方式来让移动应用程序连接到服务?

我们可以将 API/服务更改为对 Compact-Framework 友好。我们是 CF 游戏的新手(以及一般的 .NET)我们不确定允许 CF 客户端的适当方式——“开箱即用”的方法对于桌面应用程序来说很好,但很可惜,不适用于移动设备......

编辑

我尝试改用netcfSvcUtil.exe,但出现错误(我没有使用svcutil.exe得到)。我想这意味着创建的服务与紧凑框架不兼容?

我对此一无所知-但我认为传递数据的规范在平台之间没有相关性,并且可以在拖车之间进行传输。我想这很幼稚...

对于如何解决这个问题,有任何的建议吗?我是否需要将服务端更改为对移动/紧凑型框架友好?

编辑

我收到的错误消息是:

错误:工具中发生错误。

错误:应用程序中的错误

4

2 回答 2

2

正如我在评论中提到的,首先要确保我们使用基本 HTTP 绑定设置的服务使其对 CF 友好。

于 2011-10-12T15:42:27.603 回答
1

检查wsdl中的soap版本,不确定,但我记得在CF中使用SOAP 1.2有问题。如果是这种情况,只需强制 WCF 在配置文件中使用 1.1。

无论如何,发布错误消息。您描述的问题听起来很奇怪,因为通常当 wsdl 文件出现问题时,SVC 不会尝试生成任何代码。您确定您正在以产生 CF 代码的方式使用 svc 吗?您是否尝试过在 Visual Studio 中使用添加服务引用?大多数时候这对我很有用。

编辑:我再次阅读了您的问题。- 你不能使用'普通' svcutil.exe 来生成 CF 代码,使用 netcfsvcutil.exe 版本 - 我真的建议使用 Visual Studio 添加服务参考而不是命令行,然后向导会处理所有事情。- 是的,网络服务独立于技术并受 CF 支持,请务必使用 CF 支持的绑定(例如 basicHttpBinding)和 CF 支持的soap版本。

WCF <-> Compact Framework 场景在开始时可能会令人困惑,但它确实运行良好。

于 2011-10-19T15:16:51.720 回答