基于ASP.NET 3.5 Web Service的JSON扩展应用
题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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |