Programavimas

Kaip naudoti „Nancy“ ASP.Net Core

„Nancy“ yra lengva sistema, skirta kurti HTTP pagrįstas paslaugas. Nancy teikia pirmenybę konvencijoms, o ne konfigūracijai, ir palaiko GET, HEAD, POST, PUT, DELETE ir PATCH operacijas. Nancy taip pat yra atvirojo kodo turinti pagal MIT licenciją. Šiame straipsnyje pateikiama diskusija apie tai, kaip mes galime naudoti „Nancy“ su „ASP.Net Core“ programa.

„Nancy“ yra žiniatinklio sistema ir nepriklauso nuo „System.Web“ ar kitų „Net“ bibliotekų. Svarbiausia, kad jūs nesate priversti laikytis MVC modelio ar bet kokio kito modelio, jei naudojate „Nancy“. „Nancy“ yra tik paslaugos pabaigos taškas, galintis atsakyti į HTTP veiksmažodžius. Tai daro „Nancy“ gerą pasirinkimą kuriant svetaines, API ir žiniatinklio paslaugas.

Nancy yra šeimininkė-agnostikė. Jį galite paleisti IIS, WCF, kaip „Windows“ tarnybą, įdėtą į .exe failą arba savarankiškai priglobtą programą. „Nancy“ yra gana lengva nustatyti ir pritaikyti. Kitas „Nancy“ pranašumas yra integruota parama priklausomybės injekcijai. „Nancy“ taip pat teikia biblioteką, kurią galima lengvai išbandyti atsakymo į užklausą ir atsakymo ciklą. Šią Nancy ypatybę aptarsiu vėlesniame įraše.

„Visual Studio“ sukurkite pagrindinį ASP.Net projektą

Pirmiausia sukurkime ASP.Net Core projektą „Visual Studio“. Jei jūsų sistemoje nėra įdiegta „Visual Studio 2019“, galite ją atsisiųsti čia.

Norėdami sukurti naują „ASP.Net Core“ projektą „Visual Studio 2019“, atlikite toliau nurodytus veiksmus.

  1. Paleiskite „Visual Studio IDE“.
  2. Spustelėkite „Sukurti naują projektą“.
  3. Lange „Kurti naują projektą“ iš rodomų šablonų sąrašo pasirinkite „ASP.Net Core Web Application“.
  4. Spustelėkite Pirmyn.
  5. Lange „Konfigūruoti naują projektą“ nurodykite naujo projekto pavadinimą ir vietą.
  6. Spustelėkite Sukurti.
  7. Lange „Kurti naują ASP.Net pagrindinę žiniatinklio programą“ viršuje esančiame išskleidžiamajame sąraše pasirinkite .Net Core kaip vykdymo laiką ir ASP.Net Core 2.2 (ar naujesnę).
  8. Kaip projekto šabloną pasirinkite „Web Application“.
  9. Įsitikinkite, kad nepažymėti žymės langeliai „Įgalinti„ Docker “palaikymą“ ir „Konfigūruoti HTTPS“, nes čia nenaudosime tų funkcijų.
  10. Įsitikinkite, kad autentifikavimas nustatytas kaip „Nėra autentifikavimo“, nes mes taip pat nenaudosime autentifikavimo.
  11. Spustelėkite Sukurti.

Dabar „Visual Studio“ turėtumėte turėti naują „ASP.Net Core“ projektą. Šį projektą naudosime toliau pateiktose skiltyse, kad sukurtume pasirinktinę priglobtą paslaugą.

Įdiekite ir sukonfigūruokite „Nancy“ programoje „ASP.Net Core“

Norėdami įdiegti „Nancy“, dešiniuoju pelės mygtuku spustelėkite savo projektą „Solution Explorer“ lange ir pasirinkite „Tvarkyti„ NuGet “paketus ...“. Tada lange „NuGet Package Manager“ ieškokite „Nancy“ ir įdiekite ją. Arba galite įdiegti „Nancy“ iš „NuGet Package Manager“ konsolės naudodami šią komandą.

„Nancy“ diegimo paketas

Kai „Nancy“ bus įdiegta, kitas dalykas, kurį turėtumėte padaryti, yra sukonfigūruoti „Nancy“. Norėdami tai padaryti, turėtumėte iškviesti „UseNancy“ metodą „Startup“ klasės konfigūravimo metode, kaip parodyta žemiau.

public void Configure (programa „IApplicationBuilder“, „IHostingEnvironment env“)

 {

app.UseMvc ();

app.UseOwin (x => x.UseNancy ());

 }

Sukurkite savo pirmąjį „Nancy“ modulį naudodami „ASP.Net Core“

Kol kas viskas gerai. Dabar sukurkime „Nancy“ modulį ir parašykime tam tikrą kodą. „Nancy“ modulis yra standartinė C # klasė, pratęsianti „Nancy“ sistemos „NancyModule“ klasę.

viešoji klasė „Pagrindinis modulis“: „NancyModule“

{

}

Reikėtų pažymėti, kad turite paskelbti savo „Nancy“ modulį kaip viešą. „Nancy“ sistema negali atrasti modulio, kuris nebūtų pažymėtas kaip viešas.

Kurkite maršrutus „Nancy“ modulyje, esančiame ASP.Net Core

„Nancy“ modulis nustato jo konstruktoriaus maršrutus. Norėdami apibrėžti maršrutą „Nancy“, turėtumėte nurodyti HTTP veiksmažodį, šabloną, veiksmą ir (pasirinktinai) sąlygą. Štai pavyzdys, iliustruojantis Nansi maršruto apibrėžimą.

viešoji klasė „Pagrindinis modulis“: „NancyModule“

{

viešasis „HomeModule“ ()

    {

Get ("/", args => GetAllAuthors ());

Gauti ("/ {id: int}", args => GetAuthorById (args.id));

    }

}

Iš esmės „Nancy“ modulis yra vieta apibrėžti HTTP galinius taškus. Šis kodo fragmentas iliustruoja „Nancy“ modulį, kuris gali apdoroti tris skirtingas GET užklausas.

viešoji klasė „Pagrindinis modulis“: „NancyModule“

    {

viešasis „HomeModule“ ()

        {

Gauti ("/", args => "Sveiki atvykę į Nansi.");

Gauti ("/ Test", args => "Testo pranešimas");

Gauti ("/ Sveiki", args => $ "Sveiki {this.Request.Query [" vardas "]}");

        }

    }

„Nancy“ yra ne tik lengva, modulinė ir greita, bet ją įdiegti ir sukonfigūruoti yra gana paprasta. Galite naudoti „Nancy“ ir teikti būtiniausias HTTP paslaugas su minimaliomis pastangomis. Norėdami sužinoti daugiau apie „Nancy“ sistemą, galite peržiūrėti „GitHub“ dokumentaciją.

$config[zx-auto] not found$config[zx-overlay] not found