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.
- Käynnistä Visual Studio IDE.
- Napsauta Luo uusi projekti.
- Valitse Luo uusi projekti -ikkunassa ”ASP.Net Core Web Application” näytetystä mallipohjaluettelosta.
- Napsauta Seuraava.
- Määritä uuden projektin määritys -ikkunassa uuden projektin nimi ja sijainti.
- Napsauta Luo.
- Valitse Luo uusi ASP.Net Core Web -sovellus -ikkunassa .Net Core ajonaikaiseksi ja ASP.Net Core 2.2 (tai uudempi) ylhäältä avattavasta luettelosta.
- Valitse projektisivuksi ”Web-sovellus”.
- 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ä.
- Varmista, että todennuksen asetuksena on Ei todentamista, koska emme myöskään käytä todennusta.
- 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.