您當前位置>首頁 » 新聞資訊 » 技(jì)術(shù)分(fēn)享 >
.net Nancy自(zì)宿主的(de)使用(yòng)
發表時(shí)間(jiān):2020-9-24
發布人(rén):葵宇科(kē)技(jì)
浏覽次數(shù):159
Nancy是(shì).net中一(yī)款非常輕巧的(de)開(kāi)源框架,它小(xiǎo®≥÷)巧但(dàn)卻不(bù)簡單,NancyFx不(bù)隻是(shì)一(yī★©)個(gè)用(yòng)于構建Web站(zhàn)點∑∏≤↓或API節點的(de)Web框架。它是(shì)一(yī)個(gè)&>完整的(de)框架,可(kě)提供基于Http的(de)服務功能(n→éng),可(kě)以構建簡單控制(zhì)台程序,也(yě)可(kě)以搭建大(dà™&✔)型的(de)企業(yè)網站(zhàn)。
也(yě)就(jiù)是(shì)說(shuō),我們可(kě)以不(bù)采用(y↑•§òng)IIS而是(shì)通(tōng)過控制(zhì)台程序完成整個(gè)服務的(de)構建π÷。聽(tīng)起來(lái)是(shì)不(bù)πδφ是(shì)牛逼哄哄的(de)?沒錯(cuò),的(de)确是(shì)這(zhè)樣,雖然還( •€≥hái)有(yǒu)很(hěn)多(duō)小(xi€↔✘ǎo)白(bái)朋(péng)友(yǒu)不(bù)知(zhī)道€∏♦(dào)如(rú)何用(yòng)它來(lái)構建"✔控制(zhì)台程序,但(dàn)今天小(xiǎo)編就(jiù)≠ λ給大(dà)家(jiā)分(fēn)享一(yī)下(xià)n>↕π♥ancy中自(zì)宿主的(de)使用(yòng)方 "法。
一(yī)、新建一(yī)個(gè)控制(zhì)台應用(yò¶♠♥ng)程序
注意是(shì)控制(zhì)台應用(yòng)程序,不(bù)是(shì)空(kōng✘ )的(de)WebForm或空(kōng)的(de)MVC項目。
二、用(yòng)NuGet安裝所需包
用(yòng)NuGet安裝Nancy和(hé)Nancy.Hosting.Self兩個(gè)程α♥←序包。
三、編寫宿主啓動代碼
打開(kāi)Program.cs,在Main方法裡(lǐ)輸入以下(xià)代碼:
var url = new Url("http://localhost:9955"'₩→™); var hostConfig = new HostConfiguration(); hoβ₹★stConfig.UrlReservations = new UrlReservations { CreateAutomatically = true }; using (var host = new NancyHost(hostConfig, url))₹$α { host.Start(Ω≠↑); Console.WriteLine("Your application is runn↕δ✘ing on " + url); Console.WriteLine("Press any [Enter] to close the ho st."); Console.ReadLine(); }
四、編寫接口處理(lǐ)模塊
新建IndexModule.cs類文(wén)件(jiàn),λ 讓IndexModule繼承NancyModule,
在IndexModule的(de)構造函數(shù)裡(lǐ)編寫路(lù)由規則及HTTP處理(lǐ),IndexModule如(rú)下(xià↔₹∞):
public class IndexModule:NancyModule { public IndexModule() { Get["/"] =_=> "Hello World"; Get["/GetPerson/{id:int}"] = parameters => { §π↓" Person p = new Person(); p.ID = parameter ™ s.ID; p.Name = "loogn"; return Response.AsJson(p); }; } <÷<∞ } public class Person { public int ID { get; set; } public string Name { get; }
五、運行(xíng)測試
Ctrl+F5啓動服務
打開(kāi)浏覽器(qì) 輸入:http://localhost:9955/
載入:http://localhost:9955/get ☆≠♣person/26
上(shàng)面就(jiù)是(shì)今天給大(dà)家(jiā)分(fēn)享的(₹ ↓λde)如(rú)何用(yòng)Nancy提供一(yī)個(gè)自(zì)∏∞×®宿主的(de)HTTP接口的(de)詳細方法。更多(duō)技(jì)₹"術(shù)文(wén)章(zhāng)請(qǐng)關注雲南(nán)網站(zhàn)制(zhì)作(zuò)-葵宇科(kē)技(jì)官方網站(zhàn)。