Nancy 學(xué)習(xí) 自宿主( Self-hosting)

最近要寫一個接口(DEMO)柑营,基于HTTP 的 Web 服務(wù),并且綁定在exe上面(console 或者windows service)拼苍,讓客戶端可以調(diào)用本地系統(tǒng)的關(guān)機(jī)来庭,獲取本機(jī)配置等功能。

API框架很多:.NET CORE丧肴,WEBAPI残揉,NANCY等。因為功能比較簡單芋浮,并且是接口綁定在本地一個應(yīng)用程序上抱环。就想用輕量級框架Nancy。

Nancy的介紹

Nancy 是一個輕量級用于構(gòu)建基于 HTTP 的 Web 服務(wù)纸巷,基于 .NET 和 Mono 平臺镇草。

Nancy 設(shè)計用于處理DELETE,GET,HEAD,OPTIONS,POST,PUT和 PATCH等請求方法,并提供簡單優(yōu)雅的 DSL 以返回響應(yīng)瘤旨。

Nancy和Asp.net MVC原理相似梯啤,但有自己的一套路由機(jī)制,在使用上更加易用裆站,可以用Nancy快速開發(fā)一些網(wǎng)站。Nancy官網(wǎng)

Nancy框架搭建

1.建立一個控制臺程序

2.點擊“引用”黔夭,右擊“管理Nuget工具包”宏胯,安裝Nancy相關(guān)文件(這里安裝Nancy.Hosting.Self就可以了)


3.在Program.cs文件里面設(shè)置本地服務(wù)的地址。


4.設(shè)置Modules:添加一個Modules文件夾本姥,里面添加一個名稱為HomeModule類并且繼承NancyModule(類似MVC,所有controller繼承Controller肩袍,所有controller都放在Controllers文件夾下,強(qiáng)制性的規(guī)定名稱),然后設(shè)置路由婚惫。(注意Nancy的路由都是在構(gòu)造函數(shù)里面定義氛赐,它在啟動的時候回去遍歷所有的構(gòu)造函數(shù)魂爪,同一個地址設(shè)置下默認(rèn)選擇最后一個設(shè)置的路由),我這里直接用異步的路由了艰管,Nancy路由的種類和功能很強(qiáng)大(設(shè)置參數(shù)模型:后面會介紹)滓侍,其他相關(guān)設(shè)置路由的方法網(wǎng)上很多可以自己去找。

注:這里的CloseSystem()方法是去關(guān)閉系統(tǒng)牲芋,responseJsonp是jsonp格式字符串撩笆。(個人業(yè)務(wù))

5.訪問 http://localhost:8888/API/CloseSystem 就會自動關(guān)機(jī)了。

6.設(shè)置參數(shù) http://localhost:8888/API/CloseSystem?CallBack=1 想要獲取到CallBack的值缸浦,要利用參數(shù)綁定機(jī)制夕冲。var obj= this.Bind<Object>();

a.先建立一個model,里面一個字段CallBack


b.獲取傳過來的model(這句話隨便寫哪里都可以獲取到當(dāng)前獲取到的model)



到現(xiàn)在這個控制臺接口就可以滿足需求了

當(dāng)然Nancy的知識還很多例如:各種路由(地址參數(shù)裂逐,規(guī)定參數(shù)類型歹鱼,正則表達(dá)式地址,參數(shù)模型)

各種回傳類別(json卜高,文本弥姻,xml等等):


以及Nancy用到WEB端,跨平臺等等篙悯。

后期發(fā)現(xiàn)的Nancy中文轉(zhuǎn)碼問題

方法:


找了半天蚁阳。。汗鸽照。螺捐。

參考文章:

Nancy官網(wǎng)

博客1矮燎;

博客2定血;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市诞外,隨后出現(xiàn)的幾起案子澜沟,更是在濱河造成了極大的恐慌,老刑警劉巖峡谊,帶你破解...
    沈念sama閱讀 221,331評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茫虽,死亡現(xiàn)場離奇詭異,居然都是意外死亡既们,警方通過查閱死者的電腦和手機(jī)濒析,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啥纸,“玉大人号杏,你說我怎么就攤上這事∷拱簦” “怎么了盾致?”我有些...
    開封第一講書人閱讀 167,755評論 0 360
  • 文/不壞的土叔 我叫張陵主经,是天一觀的道長。 經(jīng)常有香客問我庭惜,道長罩驻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,528評論 1 296
  • 正文 為了忘掉前任蜈块,我火速辦了婚禮鉴腻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘百揭。我一直安慰自己爽哎,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,526評論 6 397
  • 文/花漫 我一把揭開白布器一。 她就那樣靜靜地躺著课锌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祈秕。 梳的紋絲不亂的頭發(fā)上渺贤,一...
    開封第一講書人閱讀 52,166評論 1 308
  • 那天,我揣著相機(jī)與錄音请毛,去河邊找鬼志鞍。 笑死,一個胖子當(dāng)著我的面吹牛方仿,可吹牛的內(nèi)容都是我干的固棚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,768評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼仙蚜,長吁一口氣:“原來是場噩夢啊……” “哼此洲!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起委粉,我...
    開封第一講書人閱讀 39,664評論 0 276
  • 序言:老撾萬榮一對情侶失蹤呜师,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后贾节,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汁汗,經(jīng)...
    沈念sama閱讀 46,205評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,290評論 3 340
  • 正文 我和宋清朗相戀三年栗涂,在試婚紗的時候發(fā)現(xiàn)自己被綠了知牌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,435評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡戴差,死狀恐怖送爸,靈堂內(nèi)的尸體忽然破棺而出铛嘱,到底是詐尸還是另有隱情暖释,我是刑警寧澤袭厂,帶...
    沈念sama閱讀 36,126評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站球匕,受9級特大地震影響纹磺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜亮曹,卻給世界環(huán)境...
    茶點故事閱讀 41,804評論 3 333
  • 文/蒙蒙 一橄杨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧照卦,春花似錦式矫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瞬痘,卻和暖如春故慈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背框全。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工察绷, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人津辩。 一個月前我還...
    沈念sama閱讀 48,818評論 3 376
  • 正文 我出身青樓拆撼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親丹泉。 傳聞我的和親對象是個殘疾皇子情萤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,442評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)摹恨,斷路器筋岛,智...
    卡卡羅2017閱讀 134,695評論 18 139
  • iOS網(wǎng)絡(luò)架構(gòu)討論梳理整理中。晒哄。睁宰。 其實如果沒有APIManager這一層是沒法使用delegate的,畢竟多個單...
    yhtang閱讀 5,206評論 1 23
  • github地址红符,歡迎大家提交更新。 express() express()用來創(chuàng)建一個Express的程序。ex...
    Programmer客棧閱讀 2,529評論 0 1
  • 1. 介紹 AngularJS是一款由Google公司開發(fā)維護(hù)的前端MVC框架预侯,其克服了HTML在構(gòu)建應(yīng)用上的諸多...
    崔皓翔閱讀 844評論 0 5
  • 老貓看著眼前的幻象致开,急的滿頭大汗,卻不知如何是好萎馅,急吼吼地朝著一鳴吼道:“你是誰双戳?” “我是曾經(jīng)救你一命的恩人,更...
    老貓枕咸魚閱讀 243評論 7 5