Ohjelmointi

Kuinka Nancyä käytetään ASP.Net Core -sovelluksessa

Nancy on kevyt kehys HTTP-pohjaisten palvelujen rakentamiseen. Nancy suosii käytäntöjä kokoonpanon sijaan ja tarjoaa tukea GET-, HEAD-, POST-, PUT-, DELETE- ja PATCH-operaatioille. Nancy on myös avoimen lähdekoodin MIT-lisenssi. Tässä artikkelissa käsitellään Nancyn käyttöä ASP.Net Core -sovelluksen kanssa.

Nancy on verkkokehys, jolla ei ole riippuvuuksia System.Web- tai muista .Net-kirjastoista. Mikä tärkeintä, et ole pakko noudattaa MVC-mallia tai muuta mallia, jos käytät Nancyä. Nancy on vain palvelun päätepiste, joka voi vastata HTTP-verbeihin. Tämä tekee Nancystä hyvän valinnan verkkosivustojen, sovellusliittymien ja verkkopalvelujen rakentamiseen.

Nancy on isäntä-agnostikko. Voit suorittaa sen IIS: ssä, WCF: ssä, Windows-palveluna, upotettuna .exe-tiedostoon tai itse isännöimän sovelluksen sisään. Nancy on melko helppo asentaa ja muokata. Toinen Nancyn etu on sen sisäänrakennettu tuki riippuvuussyöttöön. Nancy tarjoaa myös kirjaston, jota voidaan käyttää pyyntö-vastaussyklin testaamiseen helposti. Keskustelen tästä Nancyn ominaisuudesta myöhemmässä viestissä.

Luo ASP.Net-ydinprojekti Visual Studiossa

Ensinnäkin, luodaan ASP.Net Core -projekti Visual Studiossa. Jos järjestelmääsi ei ole asennettu Visual Studio 2019, voit ladata sen täältä.

Voit luoda uuden ASP.Net-ydinprojektin Visual Studio 2019: ssä seuraavasti.

  1. Käynnistä Visual Studio IDE.
  2. Napsauta Luo uusi projekti.
  3. Valitse Luo uusi projekti -ikkunassa ”ASP.Net Core Web Application” näytetystä mallipohjaluettelosta.
  4. Napsauta Seuraava.
  5. Määritä uuden projektin määritys -ikkunassa uuden projektin nimi ja sijainti.
  6. Napsauta Luo.
  7. Valitse Luo uusi ASP.Net Core Web -sovellus -ikkunassa .Net Core ajonaikaiseksi ja ASP.Net Core 2.2 (tai uudempi) ylhäältä avattavasta luettelosta.
  8. Valitse projektisivuksi ”Web-sovellus”.
  9. Varmista, että valintaruudut Ota Docker-tuki käyttöön ja Määritä HTTPS: lle ei ole valittu, koska emme käytä näitä ominaisuuksia täällä.
  10. Varmista, että todennuksen asetuksena on Ei todentamista, koska emme myöskään käytä todennusta.
  11. Napsauta Luo.

Sinulla on nyt oltava uusi ASP.Net Core -projekti valmis aloittamaan Visual Studiossa. Käytämme tätä projektia alla olevissa osioissa rakentaaksemme mukautettua isännöityä palvelua.

Asenna ja määritä Nancy ASP.Net Core -sovellukseen

Asentaaksesi Nancyn napsauta hiiren kakkospainikkeella projektiasi Solution Explorer -ikkunassa ja valitse ”Manage NuGet package…”. Etsi sitten Nancy NuGet Package Manager -ikkunasta ja asenna se. Vaihtoehtoisesti voit asentaa Nancyn NuGet Package Manager -konsolista seuraavan komennon avulla.

Asennuspaketti Nancy

Kun Nancy on asennettu, seuraava asia, jonka sinun pitäisi tehdä, on määrittää Nancy. Tätä varten sinun on kutsuttava Käynnistysluokan Määritä-menetelmässä UseNancy-menetelmä alla olevan kuvan mukaisesti.

public void Configure (IApplicationBuilder-sovellus, IHostingEnvironment env)

 {

app.UseMvc ();

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

 }

Luo ensimmäinen Nancy-moduuli ASP.Net Core -sovellukseen

Toistaiseksi niin hyvä. Luodaan nyt Nancy-moduuli ja kirjoitetaan siihen koodi. Nancy-moduuli on tavallinen C # -luokka, joka laajentaa Nancy-kehyksen NancyModule-luokkaa.

julkisen luokan HomeModule: NancyModule

{

}

On huomattava, että sinun on julistettava Nancy-moduulisi julkiseksi. Nancy-kehys ei löydä moduulia, jota ei ole merkitty julkiseksi.

Luo reittejä Nancy-moduulissa ASP.Net Core -sovelluksessa

Nancy-moduuli määrittelee rakentajan reitit. Jos haluat määrittää reitin Nancyssa, sinun on määritettävä HTTP-verbi, kuvio, toiminto ja (valinnaisesti) ehto. Tässä on esimerkki, joka kuvaa Nancyn reitin määrittelyä.

julkisen luokan HomeModule: NancyModule

{

julkinen kotimoduuli ()

    {

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

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

    }

}

Pohjimmiltaan Nancy-moduuli on paikka HTTP-päätepisteiden määrittelemiselle. Seuraava koodinpätkä kuvaa Nancy-moduulia, joka pystyy käsittelemään kolmea erilaista GET-pyyntöä.

julkisen luokan HomeModule: NancyModule

    {

julkinen kotimoduuli ()

        {

Get ("/", args => "Tervetuloa Nancyyn.");

Get ("/ Test", args => "Testiviesti");

Get ("/ Hei", args => $ "Hei {this.Request.Query [" nimi "]}");

        }

    }

Nancy ei ole vain kevyt, modulaarinen ja nopea, mutta sen asentaminen ja määrittäminen on melko helppoa. Nancyn avulla voit tarjota välttämättömiä HTTP-palveluja pienellä vaivalla. Lisätietoja Nancy-kehyksestä on GitHubin ohjeissa.