日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

轻量级的web框架[Nancy On .Net Core Docker]

發布時間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 轻量级的web框架[Nancy On .Net Core Docker] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

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

  • ? ?創建文件夾webapi 執行命令? ? ? ? ?

    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 ,這樣就可以很輕松的集群或者部署。

    相關文章:

    • 讓我們Core在一起:ASP.NET Core & .NET Core

    • ASP.NET Core Docker部署

    • docker4dotnet #3 .net猿和小鯨魚的蘋果山之旅

    • Nancy Web框架

    • ASP.NET Core開發-使用Nancy框架

    • Nancy之基于Nancy.Hosting.Aspnet 的小Demo

    • 使用Nancy打造TaskManager2.0管理系統

    • Nancy之結合tinyfox給我們的應用提供簡單的數據服務?

    原文地址:http://www.cnblogs.com/codefish/p/5924481.html


    .NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

    總結

    以上是生活随笔為你收集整理的轻量级的web框架[Nancy On .Net Core Docker]的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。