快速业务通道

基于ASP.NET 3.5 Web Service的JSON扩展应用

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
题2",         content:"内容",         posterId:13     } ]};

让我们在看一下ASP.NET 3.5 Web Service的JSON扩展应用。为什么第一次访问Web服务通过HTTP POST 和Get?因为,有时候你要调用的服务使用JavaScript和AJAX ,例如:这种做法的缺点是,你仍然会得到XML返回到服务,你必须分析和转换一 些JavaScript对象。 有许多关于在.NET 3.5中的JSON补充另一种标准方式来调用ASP.NET Web服务。

在使用JSON期间,即使从Web服务方法的XML内SOAP标识中返回JSON序列化对象,这也优于并行化对象 在客户端,并能在服务器重复使用的Web服务的代码。我不喜欢这个方法,当写相同功能的时候付出工作流的两倍,因为它们以不同的格式返回的 数据,但在其他方面相同的,即使功能只是包含一个行要求一些共享功能的库,相同的代码逐步改变并失去同步,最终分解成不同的版本。

所以,我很高兴地发现的.NET3.5使我们能够以这样一种方式解析WCF服务,它们可以通过相互配合 JSON ;也就是说,可以通过在这两个JSON编码的参数和接收JSON编码的对象。由于JSON是JavaScript的,在客户端不必做任何分析或串行化。不过,我 不希望有一个JSON的服务和一个XML服务,我想的服务可以相互使用JSON或XML 。我们需要有一个.NET 3.5框架的ASP.NET Web服务支持JSON。

这个想法是能够进行标记的操作程序,我们希望可随时取回JSON与同一个属性,例如[JSONMethod]。 属性的部分是非常简单,只要创建一个新的属性类。

它可以是一个空类,因为在这个时候只需使用属性的标志,我们可以加入特殊的属性以帮助程序文档 ,例如:

public class JSONMethodAttribute : System.Attribute

{

    public JSONMethodAttribute()

    {

    }

}

壓隆栖俶勣恂議並秤頁秀羨匯倖仟議Web捲暦窃?宸頁匯倖制婢窃System.Web.Services.WebService。 泌惚壓狛肇幹夛阻捲暦繍氏心欺潮範秤趨和?麿断制婢阻WebService窃。厘断寔屎俶勣議頁嬬校盛舜距喘議利匈議圭隈?咀緩?峇佩厘断徭失 議WebService窃?旺資誼掲械挫議制婢厘断議利大捲暦?厘断誼欺匯倖挫圭隈?凪嶄喘旗鷹栖栖侃尖JSON萩箔。

壓宸倖箭徨嶄?幹秀阻匯倖兆葎EnhancedWebService窃制婢System.Web.Services.WebService 。厘断 繍旋喘宸匯窃更秀舜資JSON萩箔。宸哈竃匯倖諒籾?厘断繍泌採岑祇泌惚萩箔頁匯倖JSON?嗤辛嬬參謹嶽圭塀恂欺宸匯泣?咀葎厘断議朕議頁 胡胡殊臥議萩箔臥儂忖憲堪?延楚凋兆葎“from”譜崔葎JSON 。宸戦頁恷兜議EnhancedWebService窃?

public class EnhancedWebService : System.Web.Services.WebService

    {

        public EnhancedWebService()

            : base()

        {

            string ServiceMethodName = GetMethodName();

            bool IsJSON = Context.Request.QueryString["form"] == "json";

            if (IsJSON) InterceptJSONMethodRequest(ServiceMethodName);

        }

        private string GetMethodName()

        {

            return Context.Request.Url.Segments

[Context.Request.Url.Segments.Length - 1];

        } 

        private void InterceptJSONMethodRequest(string ServiceMethodName)

        { 

            JSONMethodAttribute JMA = GetMethodJSONMethodAttribute

(ServiceMethodName);

            if (JMA == null)

    

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号