天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

打通.NET 3.5與ExtJS數據交互的任督二脈

  ExtJS是一套非常好的UI框架,已經有越來越多的企業級應用程序使用上了這個框架而從中受益。然后,在眾多的項目當中,以J2EE項目居多,原因是ExtJS與Java的集成化越來越強。而對于使用.NET平臺的開發者來說,想要在自己的項目當中使用ExtJS卻困難重重,原因在于數據通信很難達到統一。在.NET 3.5以前,.NET平臺提供有限的JSON原生支持。因而很多程序員都是使用第三方的組件。例如LitJson.NET組件。

  在.NET 3.5中,框架提供了DataContractJsonSerializer類,可以方便地對對象進行JSON序列化跟反序列化。另外,.NET3.5提供了擴展方法跟LINQ,更是對我們的開發如虎添翼。在這篇BLOG中,我將使用這些新特性,對如何把ExtJS與.NET通信進行集成進行了分析。有什么錯誤,請大家指正,歡迎交流。

  一、使用DataContractJsonSerializer類

  該類用于對對象進行JSON序列化跟反序列化。該類位于System.Runtime.Serialization.Json命名空間中。是.NET3.5平臺新增的類。主要使用WriteObject()跟ReadObject()方法對對象進行相應的操作。相關的API,可參考MSDN。

  二、擴展方法

  擴展方法,是.NET 3.5提供的新特性,用于增強原生對象的功能支持,擴展對象的功能。相關的介紹,請參照MSDN或相關書籍。

  三、泛型

  泛型對于許多.NET的程序員并不陌生。在.NET 2.0之后,已經在框架中添加了對泛型的支持。泛型使到我們減少了對象在裝箱跟拆箱的過程中資源的損耗。

  接下來,我們可以編寫如下的代碼,用以擴展類的JSON序列化功能。我使用了擴展方法,并且使用泛型約束,約束了類型必須為類。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Text;
using System.Runtime.Serialization.Json;

/// 
/// Summary description for JsonExtends
/// 
public static class JsonExtends
{
    
public static string ToJson<T>(this T obj) where T: class
    {
        DataContractJsonSerializer ser 
= new DataContractJsonSerializer(obj.GetType
());
        
string output = string.Empty;
        
using (MemoryStream ms = new MemoryStream())
        {
            ser.WriteObject(ms, obj);
            StringBuilder sb 
= new StringBuilder();
            sb.Append(Encoding.UTF8.GetString(ms.ToArray()));
            output 
= sb.ToString();
        }
        
return output;
    }

    
public static T FromJson<T>(this string jsonString) where T : class
    {
        T ouput 
= null;
        
try
        {
            DataContractJsonSerializer ser 
= new DataContractJsonSerializer(typeof(T
));
            
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes
(jsonString)))
            {
                ouput 
= (T)ser.ReadObject(ms);
            }
        }
        
catch (Exception) { }
        
return ouput;
    }
}

NET技術打通.NET 3.5與ExtJS數據交互的任督二脈,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 美国一级大黄一片免费的网站 | 精品淑女少妇AV久久免费 | 亚洲人成网站7777视频 | 无人区大片中文字幕在线 | 亚洲国产五月综合网 | 青柠在线观看视频在线高清完整 | 任你躁国语自产二区在线播放 | 中文字幕在线观看亚洲视频 | 久久精品热99看二 | 欧美性狂猛bbbbbbxxxx | 肉蒲团从国内封禁到日本成经典 | 囯产精品久久久久免费蜜桃 | 男人都懂www深夜免费网站 | 一本道mw高清码二区三区 | 99re热精品视频国产免费 | 亚洲视频 在线观看 | 成片免费观看视频在线网 | 九九久久国产精品免费热6 九九久久国产精品大片 | 日产国产欧美韩国在线 | 亚洲色婷婷久久精品AV蜜桃 | 啪啪做羞羞事小黄文 | 亚洲AV色香蕉一区二区9255 | 免费特黄一区二区三区视频一 | 快播电影官方网站 | 国产精品久久久久久久AV下载 | 四虎影5151毛片在线看 | 免费 高清 中文在线观看 | 久青草国产97香蕉在线视频 | 色戒无删减流畅完整版 | 同桌上课把奶露出来给我玩 | 国产午夜精品一区二区三区 | 成人毛片手机版免费看 | 疯狂做受XXXX高潮欧美日本 | 中文字幕在线播放视频 | 国产三级在线免费观看 | 久久中文字幕乱码免费 | 精选国产AV精选一区二区三区 | 老熟风间由美AV在线一区二区 | 国产成人免费手机在线观看视频 | 国产亚洲欧美日韩综合综合二区 | 国产精品青青青高清在线密亚 |