Net Core Docker

來源:互聯網
上載者:User

標籤:

    .net core現在已經有了大的發展,雖然筆者現在已經從事python開發,但是一直在關注.net的發展,在逛部落格園的時候,發現有大家都會提到Nancy這個架構,在簡單的使用之後,發現竟然是如此的簡單而優雅

1234567 public class SampleModule : Nancy.NancyModule{    public SampleModule()    {        Get["/"] = _ => "Hello World!";    }}

  代碼已經上傳到git上,包含原始碼和docker打包指令碼,大家有興趣可以自行研究

      https://github.com/BruceDone/webapi

 

      這和python裡面的flask 類似,都是簡單好用。今天我們來做一個簡單好用的.net core 版的nancy 應用,然後將程式打包到docker 並發布和使用。

  •  開發環境:Marc Pro
  •  IDE: vscode
  • .Net Core 
  • Docker

     在開發前請保證以上的環境都已經安裝好了

  1.    建立檔案夾webapi 執行命令             
1 dotnet new

  2.    執行完後將初使化一些必要的檔案 ,開啟package.json,將如下內容複寫進去

   

{  "version": "1.0.0-*",  "buildOptions": {    "debugType": "portable",    "emitEntryPoint": true  },  "dependencies": {    "Microsoft.NETCore.App": {      "version": "1.0.0",      "type": "platform"    },    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",    "Microsoft.AspNetCore.Owin": "1.0.0",    "Nancy": "2.0.0-barneyrubble"  },  "commands": {    "web": "Microsoft.AspNet.Server.Kestrel"  },  "frameworks": {    "netcoreapp1.0": {}  }}

    3.    OK.儲存的時候vscode 會自動匯入相關的dll檔案,引入成功後我們先建立StartUp.cs檔案 

using Microsoft.AspNetCore.Builder;using Nancy.Owin;namespace NancyApplication{    public class Startup    {        public void Configure(IApplicationBuilder app)        {            app.UseOwin(x => x.UseNancy());        }    }}

  4.    儲存後建立HomeModel.cs 檔案

using Nancy;namespace NancyApplication{    public class HomeModule : NancyModule    {        public HomeModule()        {            Get("/", args => "Hello World, it‘s Nancy on .NET Core");        }    }    public class PageModule : NancyModule    {        public PageModule()        {            Get("/person/{name}", args => new Person() { Name = args.name });        }    }    public class Person    {        public string Name { get; set; }    }}

 

   路由與傳回值都已經寫好,我這裡就不解釋相關的代碼了,有興趣的可以自行深入瞭解

 

  4.    編輯Program.cs檔案

using System.IO;using Microsoft.AspNetCore.Builder;using Microsoft.AspNetCore.Hosting; namespace NancyApplication{    public class Program    {        public static void Main(string[] args)        {            var host = new WebHostBuilder()                .UseContentRoot(Directory.GetCurrentDirectory())                .UseKestrel()                .UseUrls("http://*:5000")                .UseStartup<Startup>()                .Build();             host.Run();        }    }}

  

  5.    OK,必要的檔案都已經準備好了,然後運行 dotnet run ,訪問http://127.0.0.1:5000 就可以看到結果,    

     

 6.使用Docker來部署程式

 

 

訪問我們的api地址:

± |master ?:1 ?| → curl http://127.0.0.1:5000/person/bruce{"name":"bruce"}

 

 

  程式和代碼我都已經打包到git 上了,裡面有相關的說明 ,程式很方便的打包成了docker ,這樣就可以很輕鬆的叢集或者部署。

 

  git地址:https://github.com/BruceDone/webapi

 

  如果你覺得對你有協助,請不要吝嗇你的star ,謝謝:)

 分類: Project For Fun

Net Core Docker

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.