.net - 设计在多个移动平台上消费的服务

标签 .net iphone android web-services windows-phone-7

我正在构建和设计一些数据的(大部分)只读接口(interface)。我将使用 ASP.NET MVC 构建一个 psudo-restful API。我想知道是否有人可以提供一些资源来为各种移动平台、iPhone、Android、Blackberry、Windows Mobile 等构建完整的客户端应用程序。

我认为提供 XML 数据将是最简单和通用的,但是在 Objective-C 中解析 XML 对我来说听起来并不有趣,但也许有一些好的库可以帮助简化这项任务?

换句话说,哪种形式在客户端实现最快?是否有适用于 iPhone 或 Android 的 JSON 解析器?我知道有 .NET JSON 解析器,但不确定其他平台是否有其他格式可能更好?还是我应该坚持使用纯 XML 并在每个平台上以不同方式处理它?<​​/p>

最佳答案

您可以创建一个 WCF REST 服务,以 json 和 xml 两种格式公开结果,并且根据设备,您可以选择更适合设备功能的格式。这也比创建和 ASP.MVC“伪 restful API”要好得多。

WCF 服务看起来像这样:

[ServiceContract]
public interface IService
{
    [OperationContract]
    [WebInvoke(
        Method = "GET",
        ResponseFormat = WebMessageFormat.Xml,
        BodyStyle = WebMessageBodyStyle.Wrapped,
        UriTemplate = "DoWork/xml/{ID}/{Filter}")]
    void DoWork(int ID, string Filter);

    [OperationContract]
    [WebInvoke(
        Method = "GET",
        ResponseFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Wrapped,
        UriTemplate = "DoWork/json/{ID}/{Filter}")]
    void DoWorkJson(int ID, string Filter);
}

您可以找到创建 WCF Rest 服务的好示例 here.

关于.net - 设计在多个移动平台上消费的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2718664/

相关文章:

c# - 元数据集合中不存在标识为 'PmData.SafetyRequirement_Assets' 的成员。\r\n参数名称 : identity

c# - 如何更改 GDI+ LinearGradientBrush 的颜色?

c# - 如何使用 TinyIOC 注册通用接口(interface)

iphone - UIPicker 的替代品

c# - 我可以更改 Environment.NewLine 的值吗?

iphone - 将货币样式与 NSNumberFormatter 一起使用时输出错误

iphone - 在ios中以编程方式获取壁纸

android - 将用户发送至数据使用设置窗口

android - 如何在android中显示饼图

android - 解析来自 google direction api 的 json 响应