Programmēšana

Kā Nancy izmantot ASP.Net Core

Nensija ir viegls ietvars uz HTTP balstītu pakalpojumu veidošanai. Nensija dod priekšroku konvencijām, nevis konfigurācijai un nodrošina atbalstu GET, HEAD, POST, PUT, DELETE un PATCH operācijām. Nensija ir arī atvērtā koda ar MIT licenci. Šajā rakstā ir sniegta diskusija par to, kā mēs varam izmantot Nancy ar ASP.Net Core lietojumprogrammu.

Nensija ir tīmekļa sistēma, un tai nav atkarības no System.Web vai citām .Net bibliotēkām. Vissvarīgākais ir tas, ka, lietojot Nensiju, jūs neierobežojat MVC modeļa vai jebkura cita modeļa ievērošanu. Nensija ir tikai pakalpojuma galapunkts, kas var atbildēt uz HTTP darbības vārdiem. Tas padara Nansi par labu izvēli vietņu, API un tīmekļa pakalpojumu veidošanai.

Nensija ir saimniekdroša. To var palaist IIS, WCF, kā Windows pakalpojumu, iegultu .exe failā vai pašnodrošinātā lietojumprogrammā. Nensiju ir diezgan viegli uzstādīt un pielāgot. Vēl viena Nensijas priekšrocība ir iebūvētais atbalsts atkarības ievadīšanai. Nensija nodrošina arī bibliotēku, ko var izmantot, lai viegli pārbaudītu pieprasījuma-atbildes ciklu. Es apspriedīšu šo Nensijas funkciju vēlāk.

Izveidojiet ASP.Net Core projektu Visual Studio

Vispirms izveidosim ASP.Net Core projektu Visual Studio. Ja jūsu sistēmā nav instalēta Visual Studio 2019, varat to lejupielādēt šeit.

Lai Visual Studio 2019 izveidotu jaunu ASP.Net Core projektu, veiciet tālāk norādītās darbības.

  1. Palaidiet Visual Studio IDE.
  2. Noklikšķiniet uz “Izveidot jaunu projektu”.
  3. Logā “Izveidot jaunu projektu” parādīto veidņu sarakstā atlasiet “ASP.Net Core Web Application”.
  4. Noklikšķiniet uz Tālāk.
  5. Logā “Konfigurēt jauno projektu” norādiet jaunā projekta nosaukumu un vietu.
  6. Noklikšķiniet uz Izveidot.
  7. Logā “Izveidot jaunu ASP.Net Core tīmekļa lietojumprogrammu” augšdaļā esošajā nolaižamajā sarakstā atlasiet .Net Core kā izpildlaiku un ASP.Net Core 2.2 (vai jaunāku).
  8. Kā projekta veidni atlasiet “Web Application”.
  9. Pārliecinieties, vai nav atzīmētas izvēles rūtiņas “Iespējot Docker atbalstu” un “Konfigurēt HTTPS”, jo mēs šeit neizmantosim šīs funkcijas.
  10. Pārliecinieties, vai autentifikācijai ir iestatīta vērtība “Nav autentifikācijas”, jo mēs arī neizmantosim autentifikāciju.
  11. Noklikšķiniet uz Izveidot.

Tagad jums ir jābūt gatavam darbam Visual Studio jauns ASP.Net Core projekts. Mēs izmantosim šo projektu zemāk esošajās sadaļās, lai izveidotu pielāgotu mitinātu pakalpojumu.

Instalējiet un konfigurējiet Nancy ASP.Net Core

Lai instalētu Nancy, ar peles labo pogu noklikšķiniet uz sava projekta logā Solution Explorer un atlasiet “Manage NuGet paketes…”. Pēc tam logā NuGet Package Manager meklējiet Nancy un instalējiet to. Varat arī instalēt Nancy no NuGet Package Manager konsoles, izmantojot šādu komandu.

Install-Package Nancy

Kad Nensija ir instalēta, nākamā lieta, kas jums jādara, ir Nensijas konfigurēšana. Lai to izdarītu, jums vajadzētu izsaukt metodi StartNet Startēšanas klases konfigurēšanas metodē, kā parādīts zemāk.

public void Configure (lietotne IApplicationBuilder, IHostingEnvironment env)

 {

app.UseMvc ();

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

 }

Izveidojiet savu pirmo Nensijas moduli ASP.Net Core

Tik tālu, labi. Tagad izveidosim Nansijas moduli un uzrakstīsim tam kodu. Nensijas modulis ir standarta C # klase, kas paplašina Nensijas ietvara NancyModule klasi.

publiskā klase HomeModule: NancyModule

{

}

Jāatzīmē, ka jums jāpaziņo savs Nensijas modulis kā publisks. Nansī ietvars nevar atklāt moduli, kas nav atzīmēts kā publisks.

Izveidojiet maršrutus Nancy modulī ASP.Net Core

Nansī modulis nosaka maršrutus savā konstruktorā. Lai definētu maršrutu Nansī, jānorāda HTTP darbības vārds, modelis, darbība un (pēc izvēles) nosacījums. Šeit ir piemērs, kas ilustrē Nansī maršruta definīciju.

publiskā klase HomeModule: NancyModule

{

public HomeModule ()

    {

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

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

    }

}

Būtībā Nensijas modulis ir vieta, kur definēt HTTP galapunktus. Šis koda fragments ilustrē Nancy moduli, kas var apstrādāt trīs dažādus GET pieprasījumus.

publiskā klase HomeModule: NancyModule

    {

public HomeModule ()

        {

Get ("/", args => "Laipni lūdzam Nensijā.");

Get ("/ Test", args => "Pārbaudes ziņojums");

Get ("/ Sveiki", args => $ "Labdien {this.Request.Query [" name "]}");

        }

    }

Nensija ir ne tikai viegla, modulāra un ātra, bet tās uzstādīšana un konfigurēšana ir diezgan vienkārša. Jūs varat izmantot Nancy, lai ar minimālu piepūli nodrošinātu būtiskus HTTP pakalpojumus. Lai uzzinātu vairāk par Nansī ietvaru, skatiet GitHub dokumentāciju.

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