Web服務(wù)小姐的嫁衣 |
發(fā)布時間: 2012/9/17 17:02:05 |
下班時間到了,Web Service小姐的座位空著,可能已經(jīng)走了。WCF先生悠哉游哉的出了公司大門。 高挑的身材,長發(fā)披肩,WCF先生看著前面的美女,不禁快走幾步,想看看是否是"背影殺手"。由于走的太急了,沒注意腳下的臺階,感覺腳下一空,從美女的身邊跌落,胳膊擦到了她的后背,人重重地摔在了臺階上,如同一只趴在地上的青蛙。 胳膊很痛,筆記本甩出了很遠,周圍的東西好像是在另一個世界。WCF先生趴了幾分鐘,經(jīng)過的人一邊用疑惑的眼光看著他一邊快步的走過。突然覺得眼前一暗,抬頭一看,竟然是Web Service小姐,趕緊窘迫的站起來。 "痛嗎?", Web Service小姐用手拍著WCF先生身上的土問道。 "有點。", WCF先生皺著眉頭回答道。 "怎么這么不小心。", Web Service小姐臉上露出同情。 "著急去趕公司的班車,沒注意臺階", WCF先生不好意思的回答。 剛走了幾步,WCF先生發(fā)現(xiàn)自己的腳扭了,一走路疼的受不了。 "我扶你去那里坐一會吧。",Web Service小姐扶著WCF先生進了公司旁邊的快餐店。晚風(fēng)吹來,雖然腳很痛,WCF先生還是趕緊很清爽。 快餐店不大,但是窗明幾凈,橙黃色的桌面讓人很有食欲,保潔人員隨時清理著產(chǎn)生的垃圾。Web Service小姐點了兩份飯,又特意點了一份脆骨,說是給他補補鈣,這樣傷好的快些。 感覺有些不好意思,吃完東西,兩人要了兩杯果汁。WCF先生打開了筆記本,"我們繼續(xù)昨天的話題吧。"。 "不用了,你的腳受傷了。", Web Service小姐關(guān)切的說。 "沒事,不疼了"。 WCF先生忍著疼痛,裝出一臉輕松的樣子。 "那好吧。", Web Service小姐略帶歉意的說,同時將桌上的餐具拿到了一邊。 "上次我們只是實現(xiàn)了獲取數(shù)據(jù)的接口,但是很多時候用戶需要增刪改的操作,F(xiàn)在我們就將上次那個Delete方法完善一下"。 WCF先生打開IBookService.cs,為DeleteBook方法增加了參數(shù),并更改了返回值的類型。 然后又打開BookService.svc.cs,改了對應(yīng)的實現(xiàn)方法。 "現(xiàn)在這個例子是在內(nèi)存中操作的,所以我用了這樣的代碼模擬了一下效果,在實際應(yīng)用中可以增刪改真正的數(shù)據(jù)庫或其他資源。", WCF先生一邊噼里啪啦的敲著鍵盤,一邊解說著。 "現(xiàn)在我們看一下運行效果。首先用一個不存在的ISBN做參數(shù),看,三條數(shù)據(jù)都返回來了。" "現(xiàn)在我們用一個實際存在的ISBN做參數(shù)。", WCF先生將參數(shù)改成了"ISBN 001"。果然有一條結(jié)果被刪掉了。 "可是...",Web Service小姐咬著嘴唇想了一下,"這個恐怕有問題,如果有些惡意客戶通過輸入URL來刪除別人的數(shù)據(jù)怎么辦?"。 "嗯,有道理,你不提這個我倒是忘了說了,這個就是GET和POST的區(qū)別"。 WCF先生向后靠在椅背上說道: "其實當(dāng)初設(shè)計HTTP請求的時候,定義了很多種方法,每種方法都是應(yīng)用于不同的場景: GET方法用來從服務(wù)器上獲取資源; HEAD方法用來獲取資源的一些信息而不是資源本身; POST方法用來從客戶端向服務(wù)器端發(fā)送信息,比如在線填寫表單,發(fā)送大量復(fù)雜的數(shù)據(jù)到服務(wù)器等等; PUT方法用來上傳文檔或者更新文檔到服務(wù)器,DELETE方法用來刪除服務(wù)器上的資源; TRACE方法用來給客戶查看他發(fā)出的請求都經(jīng)過了哪些代理或者中轉(zhuǎn)服務(wù)器; OPTIONS方法用戶知道有哪些方法可以用來處理服務(wù)器的資源; CONNECT方法用來為用戶建立一個對遠程主機的透明連接,通常是通過一個HTTP代理來實現(xiàn)HTTPS通信。" "回頭我會把這些區(qū)別發(fā)到你的郵箱里的。", WCF先生看到Web Service小姐有些迷茫,就善解人意的說道。 "謝謝。", Web Service小姐露出甜甜的一笑。 "但是現(xiàn)存的Web框架中,并沒有完全支持這些方法,或者支持的不好。所以現(xiàn)在常用的就是GET和POST方法。", WCF先生繼續(xù)說道,"實際上大部分情況下,POST方法就已經(jīng)足夠用。用POST方法,用戶就不能通過URL來刪除資源了,F(xiàn)在我們來試一下"。 WCF先生打開IBookService.cs,改動了DeleteBook方法的定義。 "看,把HTTP方法從GET改成POST就這么簡單。我們再通過URL方法訪問一下。", WCF又在IE中進行了剛才的Delete操作。 "嗯,果然無法通過URL訪問了,這樣安全多了。",Web Service小姐點點頭,烏黑的劉海也隨著上下?lián)u動。 "現(xiàn)在就來用POST方法來訪問它。", WCF先生新建了一個Web Form,放了兩個輸入框,第一個用來輸入要請求的地址,第二個用來顯示返回的結(jié)果。 "這里是HTML代碼。", WCF先生打開代碼視圖,讓W(xué)eb Service小姐看了一眼。
"現(xiàn)在我們來寫C#代碼。",WCF先生打開WebForm1.aspx.cs。編程破萬行,下筆如有神。不到兩分鐘,代碼就寫完了。 Web Service小姐看得有點傻眼,直到WCF先生說"現(xiàn)在我們看一下結(jié)果吧。"才回過神來。 WCF先生在IE中打開WebForm1.aspx,在第一個框里輸入剛才在URL中無法直接使用的DeleteBook的請求。 "Let's go.", Web Service小姐條件反射般的拿起包向外走,走到門口感覺有些奇怪,還沒弄完怎么就走了?回頭一看,WCF先生還坐在那里,奇怪的看著她。返回桌前,才明白,原來WCF先生點了Go按鈕,并不是要走。 WCF先生指著電腦屏幕讓她看,Web Service小姐看到了如下的一幕。 "不錯,如果我們把POST改成GET會如何", Web Service小姐的提問讓W(xué)CF先生對美女無腦這句話產(chǎn)生了深深的懷疑。非常熟練的將POST方法改成了GET方法。 "Let's Go", WCF先生編譯了一下,打開網(wǎng)頁,輸入剛才DeleteBook的地址,然后點擊了Go按鈕。這次Web Service小姐沒走。 輸入框里顯示了和剛才直接輸入URL時一樣的錯誤信息。 兩人都很滿意的靠在椅背上喝了口果汁。夕陽馬上就要落下,染得天邊一片紅霞。馬尾辮,白色T恤,淡藍色短裙,Web Service小姐在這紅色背景的映襯下顯得更加嫵媚了。WCF先生低頭一看,發(fā)現(xiàn)鞋帶松了,忍不住俯身去系... 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |