Nancy 學習 自宿主 繼續跨平台

2022-01-16 18:22:47 字數 2915 閱讀 6221

nancy是乙個輕量級的獨立的框架,下面是官網的一些介紹:

nancy 設計用於處理delete,get,head,options,post,put和 patch等請求方法,並提供簡單優雅的 dsl 以返回響應。讓你有更多時間專注於你的**和程式。

nancy supports running on asp.net/iis, wcf, self-hosting and any owin 

nancy是支援多種宿主,今天我是採用self-hosting也就是自宿主方式。

首先建立乙個控制台程式:

然後新增nuget 引用,我們在搜尋框輸入nancy self,然後搜尋,如圖:

直接新增第乙個即可。

也可以用nuget命令列新增:install-package nancy.hosting.self

新增好以後,在program.cs 新增如下**:

using

nancy.hosting.self;

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

namespace

nancydemo}}

}

然後啟動程式,訪問 http://localhost:9000 發現404 錯誤,那是因為我們還沒新增任何module。

下面我們新增乙個homemodule

如圖:

public

class

homemodule:nancymodule;}

}

再次啟動訪問 http://localhost:9000

下面我們再來新增一些強大的路由規則:

get["

/blog/

"] = r =>;

然後我們訪問 http://localhost:9000/blog/linezero  ,name就可以獲取到linezero

我們再來模仿mvc 的路由規則:

get["

/mvc///

"] = r =>;

我們訪問:http://localhost:9000/mvc/blog/linezero/1

分別對應如下:

更多功能可以參看官方wiki。

完整module**:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

using

nancy;

namespace

nancydemo

; get[

"/blog/

"] = r =>;

get[

"/mvc///

"] = r =>;}}

}

view code

前面一篇 owin 跨平台。

官方介紹是可以直接執行在mono上。所以下面我們就來看看一下執行在linux下。首先大家要安裝好 mono。

測試系統版本:centos 6.4  mono 3.10.0

將程式上傳到linux 下,然後定位到程式目錄,通過命令啟動程式:mono nancydemo.exe

程式已成功啟動,下面我來訪問看看:

可以看到系統標示已經是linux。

Nancy 學習 高階部分 繼續跨平台

前面兩篇,講解nancy的基礎,及nancy自宿主和檢視引擎。現在來學習一些高階部分。public class 下面我們來看看如何獲取全域性異常。public class private dynamic error nancycontext context,exception ex root pat...

Topshelf 學習 跨平台

topshelf是乙個開源的跨平台的宿主服務框架,支援windows和mono,只需要幾行 就可以構建乙個很方便使用的服務宿主。官網 github 下面就開始來學習。1.新建乙個控制台程式 2.新增引用 我們直接搜尋 topshelf log4net 或者nuget控制台 install packa...

跨平台開發學習筆記

以前我的開發僅僅是侷限在msvc中,當時就隱約有一種想法,想跳出這個框框,因為我感覺msvc把我限制的太死,以至於我沒了msvc,就不會怎麼程式設計了。由於在公司做平台開發專案以及自己對這種突破的渴望,在這跨平台開發方面的知識補充了不少,也認識了不少。知道msvc只是乙個整合開發環境,它用的編譯器是...