欢迎来到天天文库
浏览记录
ID:39469772
大小:447.50 KB
页数:40页
时间:2019-07-04
《wcf完美搭建android平台服务》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、wcf完美搭建android平台服务之一 由于android系统的特殊性,对于wcf的平台服务的搭建就带来特殊要求,在这两种平台应用上数据的通用性而讲,能实现其信息的传递,我们可以采用JSON/XML两种数据数据格式传递,在wcf服务的搭建的时候我们就需要将数据序列化成这两种类型。 在查阅MSDN中我们找到了,这两种数据格式的数据契约进行了定义,详细参照:具有JSON和XML的AJAX服务示例我们使用webHttpEndpoint配置终结点,在WebHttpEndPoint的默认数据格式为xml,而WebScripEndpoint的默认格式为JSON,一般在定义数据格式的时候我们采
2、用WebGetAttribute或者WebInvokedAttribute属性(后者可以指定客户端访问模式get/post),这样样式特定于webhttp行为,对其JSON/Xml数据格式进行设置[OperationContract][WebInvoke(ResponseFormat=WebMessageFormat.Xml,BodyStyle=WebMessageBodyStyle.Wrapped)]MathResultDoMathXml(doublen1,doublen2);另一个操作使用WebInvokeAttribute属性并显式指定响应的JSON(而不是XML)。Operation
3、Contract][WebInvoke(ResponseFormat=WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.Wrapped)]MathResultDoMathJson(doublen1,doublen2);请注意,在这两种情况下,操作均返回一个复杂类型MathResult,该类型是一个标准的WCF数据协定类型。其实这两种数据格式的创建使用用于ajax客户端或者jquery使用,因为其数据格式被序列成JSON或者XML,这两者同样的适合于android平台使用,所以我们应用这两种数据格式为android平台提供服务,这里有几个点
4、需要注意: 1、当客户端我们需应用JSON数据格式的时候,我们必须显示的将ResponseFormat(或ResponseFormat)属性设置为Json。2、当开启客户端数据回传方式的时候我们如果需要指定,我们需要WebInvoke设置其方式: [WebInvoke(Method="GET"]下面通过一个案例综合来实现我们测操作:第一步,新建数据实体,记住添加引用(usingSystem.Runtime.Serialization)和(usingSystem.ServiceModel)usingSystem;usingSystem.Runtime.Remoting;usingSystem.
5、Runtime.Serialization;//实现数据序列化namespaceAndroidHost{///////Suident实体类///[DataContract]publicclassSutdent{///////用户名///[DataMember(Order=0)]publicstringName{get;set;}//////生日///[DataMember(Order=1)]publicDateTimeDayOfbirth{get;set;}}}第二步、新建jso
6、n的服务契约,注释很详细usingSystem;usingSystem.ServiceModel;usingSystem.ServiceModel.Web;namespaceAndroidHost{//////演示IStudentJson的接口/////////HTTP方法中:///PUT相当于Create///GET相当于Read///POST相当于Update///DELETE相当于Delete///即(Method方式定义了http里面方法的名称)///[ServiceContract]publicinterf
7、aceIStudentJson{//////创建学生//////用户名///生日//////WebInvoke-指示服务操作在逻辑上就是调用操作,而且可由Web编程模型调用///UriTemplate-用于服务操作的统一资源标识符(URI)
此文档下载收益归作者所有