一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

jQuery能做到,PHP能做到,C#也能做到

 昵稱10504424 2013-03-06

題目有些大,但文中談到的問題很??;看似表揚(yáng)C#,實(shí)際不是。

這個(gè)小問題來自這樣的應(yīng)用場景——以HTTP POST的方式調(diào)用第三方API,第三方API不支持JSON傳參,只能通過URL query string方式傳參(a=1&b=2)。

假設(shè)API的地址是http://www.cnblogs.com/api/say,需要傳遞的參數(shù)是username與words,只支持HTTP POST調(diào)用。

jQuery中的調(diào)用示例代碼

在上面的Javascript代碼執(zhí)行時(shí),jQuery會(huì)自動(dòng)將js對(duì)象postData轉(zhuǎn)換為Url query string的形式(username=test&words=hello+world),并自動(dòng)進(jìn)行Url encode。

PHP中的調(diào)用示例代碼

PHP內(nèi)置的http_build_query()函數(shù)能自動(dòng)將數(shù)組轉(zhuǎn)換為Url query string的形式(username=test&words=hello+world),并自動(dòng)進(jìn)行Url encode。

C#中的調(diào)用示例代碼

1、在.NET Framework 4.0中的實(shí)現(xiàn)(HttpWebRequest+匿名類型+反射+LINQ)

參數(shù)通過匿名類型(Anonymous Type)進(jìn)行定義:

.NET Framework 4.0的類庫中沒有提供直接將“匿名類型實(shí)例”轉(zhuǎn)換為“Url查詢參數(shù)”的API,只能借助“反射+LINQ”自己實(shí)現(xiàn)。實(shí)現(xiàn)代碼如下:

2、在.NET Framework 4.5中的實(shí)現(xiàn)(HttpClient+FormUrlEncodedContent)

.NET Framework 4.5考慮到了這個(gè)應(yīng)用場景,提供了FormUrlEncodedContent,但它不支持匿名類型(Anonymous Type),只支持字典(Dictionary)。參數(shù)需要這樣定義:

完整實(shí)現(xiàn)代碼如下(需要引用System.Net.Http):

.NET Framework 4.5中的實(shí)現(xiàn)還算簡單,但是FormUrlEncodedContent只支持Dictionary,考慮還是不周到。

感想

.NET因互聯(lián)網(wǎng)而生,而通過URL query string傳參的需求在互聯(lián)網(wǎng)應(yīng)用中普通存在,但.NET從4.5才開始考慮這個(gè)應(yīng)用場景,實(shí)在有點(diǎn)說不過去。

多數(shù)開發(fā)互聯(lián)網(wǎng)應(yīng)用多年的.NET開發(fā)者都有多年拼接字符串的經(jīng)歷,但是.NET也沒考慮到這個(gè)場景,比如雙引號(hào)問題(字符串不支持單引號(hào)內(nèi)直接包含雙引號(hào))。即使拼接字符串,也沒有Javascript與PHP中操作方便。

.NET功能強(qiáng)大、設(shè)計(jì)領(lǐng)先,但是對(duì)互聯(lián)網(wǎng)應(yīng)用場景缺少細(xì)致入微的考慮,在用.NET開發(fā)互聯(lián)網(wǎng)應(yīng)用時(shí)經(jīng)常有殺雞用牛刀的感覺。幸虧牛刀上有非常舒服的刀柄(Visual Studio),才吸引了如些多的開發(fā)者。如果互聯(lián)網(wǎng)應(yīng)用是未來,即使刀柄再舒服,用牛刀殺雞的感覺畢竟不好,牛刀自身的改變才是解決之道。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    午夜直播免费福利平台| 久久精品欧美一区二区三不卡| 欧美不卡一区二区在线视频| 日本欧美三级中文字幕| 精品高清美女精品国产区| 夜色福利久久精品福利| 亚洲一区二区三区熟女少妇| 深夜福利亚洲高清性感| 欧美成人久久久免费播放| 日韩日韩欧美国产精品| 精品国产av一区二区三区不卡蜜 | 黑色丝袜脚足国产一区二区| 日韩欧美二区中文字幕| 大香蕉再在线大香蕉再在线| 亚洲欧美日韩中文字幕二欧美 | 冬爱琴音一区二区中文字幕| 亚洲国产精品久久琪琪| 久久99精品日韩人妻| 麻豆国产精品一区二区三区| 操白丝女孩在线观看免费高清| 日本91在线观看视频| 国产精品久久精品毛片| 日韩人妻中文字幕精品| 成年男女午夜久久久精品| 久久精品色妇熟妇丰满人妻91 | 日韩日韩日韩日韩在线| 国产精品一区日韩欧美| 97人妻精品一区二区三区男同| av在线免费播放一区二区| 又大又长又粗又黄国产| 国产一级内片内射免费看| 国产日产欧美精品视频| 久久精品亚洲情色欧美| 五月婷婷综合激情啪啪| 色婷婷激情五月天丁香| 99精品国产自在现线观看| 91午夜少妇极品福利| 又大又长又粗又猛国产精品| 尹人大香蕉中文在线播放| 青青久久亚洲婷婷中文网| 午夜福利网午夜福利网|