Programovanie

Ako používať Nancy v ASP.Net Core

Nancy je ľahký rámec pre budovanie služieb založených na protokole HTTP. Nancy uprednostňuje konvencie pred konfiguráciou a poskytuje podporu pre operácie GET, HEAD, POST, PUT, DELETE a PATCH. Nancy je tiež open source pod licenciou MIT. Tento článok predstavuje diskusiu o tom, ako môžeme používať Nancy s aplikáciou ASP.Net Core.

Nancy je webový rámec a nemá žiadne závislosti na knižniciach System.Web alebo iných .Net. Najdôležitejšie je, že ak používate Nancy, nie ste nútení dodržiavať vzor MVC alebo iný vzor. Nancy je iba koncový bod služby, ktorý dokáže reagovať na slovesá HTTP. Vďaka tomu je Nancy dobrou voľbou pre vytváranie webových stránok, rozhraní API a webových služieb.

Nancy je hostiteľská agnostik. Môžete ho spustiť v IIS, v WCF, ako službu Windows, vloženú do súboru .exe alebo vo vnútri hosťovanej aplikácie. Nancy sa nastavuje a prispôsobuje celkom ľahko. Ďalšou výhodou Nancy je vstavaná podpora pre vkladanie závislostí. Nancy tiež poskytuje knižnicu, ktorú je možné ľahko použiť na testovanie cyklu požiadaviek a odpovedí. Tejto funkcii Nancy sa budem venovať v ďalšom príspevku.

Vytvorte projekt ASP.Net Core v Visual Studio

Najprv si vytvoríme projekt ASP.Net Core v Visual Studio. Ak vo svojom systéme nemáte nainštalované Visual Studio 2019, môžete si ho stiahnuť tu.

Ak chcete vytvoriť nový projekt ASP.Net Core v Visual Studio 2019, postupujte podľa krokov uvedených nižšie.

  1. Spustite Visual Studio IDE.
  2. Kliknite na „Vytvoriť nový projekt“.
  3. V okne „Vytvoriť nový projekt“ zo zoznamu zobrazených šablón vyberte možnosť „Webová aplikácia ASP.Net Core“.
  4. Kliknite na Ďalej.
  5. V okne „Konfigurácia nového projektu“ zadajte názov a umiestnenie nového projektu.
  6. Kliknite na tlačidlo Vytvoriť.
  7. V okne „Vytvorenie novej webovej aplikácie ASP.Net Core“ vyberte z rozbaľovacieho zoznamu v hornej časti .Net Core ako runtime modul a ASP.Net Core 2.2 (alebo novší).
  8. Ako šablónu projektu vyberte možnosť „Webová aplikácia“.
  9. Skontrolujte, či nie sú začiarknuté políčka „Povoliť podporu Docker“ a „Konfigurovať pre HTTPS“, pretože tu nebudeme tieto funkcie používať.
  10. Skontrolujte, či je overenie nastavené na „Bez overenia“, pretože tiež nebudeme používať overenie.
  11. Kliknite na tlačidlo Vytvoriť.

Teraz by ste mali mať nový projekt ASP.Net Core pripravený na použitie v Visual Studio. Tento projekt použijeme v nasledujúcich častiach na vytvorenie našej vlastnej hostenej služby.

Nainštalujte a nakonfigurujte Nancy v ASP.Net Core

Ak chcete nainštalovať Nancy, kliknite pravým tlačidlom myši na váš projekt v okne Solution Explorer a vyberte možnosť „Spravovať balíčky NuGet ...“. Potom v okne Správca balíkov NuGet vyhľadajte Nancy a nainštalujte ju. Prípadne môžete Nancy nainštalovať z konzoly Správcu balíkov NuGet pomocou nasledujúceho príkazu.

Inštalačný balík Nancy

Po nainštalovaní Nancy je potrebné nakonfigurovať Nancy. Ak to chcete urobiť, mali by ste zavolať metódu UseNancy v metóde Configure triedy Startup, ako je uvedené nižšie.

public void Configure (aplikácia IApplicationBuilder, IHostingEnvironment env)

 {

app.UseMvc ();

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

 }

Vytvorte svoj prvý modul Nancy v ASP.Net Core

Zatiaľ je všetko dobré. Poďme si teraz vytvoriť modul Nancy a napísať k nemu nejaký kód. Nancy modul je štandardná trieda C #, ktorá rozširuje triedu NancyModule rámca Nancy.

verejná trieda HomeModule: NancyModule

{

}

Je potrebné poznamenať, že musíte vyhlásiť svoj modul Nancy za verejný. Rámec Nancy nemôže nájsť modul, ktorý nie je označený ako verejný.

Vytváranie trás v module Nancy v ASP.Net Core

Modul Nancy definuje trasy vo svojom konštruktore. Ak chcete definovať trasu v Nancy, mali by ste určiť sloveso HTTP, vzor, ​​akciu a (voliteľne) podmienku. Tu je príklad, ktorý ilustruje definíciu trasy Nancy.

verejná trieda HomeModule: NancyModule

{

verejný domáci modul ()

    {

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

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

    }

}

V podstate je modul Nancy miestom na definovanie koncových bodov HTTP. Nasledujúci úryvok kódu ilustruje modul Nancy, ktorý dokáže spracovať tri rôzne požiadavky GET.

verejná trieda HomeModule: NancyModule

    {

verejný domáci modul ()

        {

Get ("/", args => "Vitajte v Nancy.");

Get ("/ Test", args => "Testovacia správa.");

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

        }

    }

Nancy je nielen ľahká, modulárna a rýchla, ale aj jej inštalácia a konfigurácia je celkom jednoduchá. Môžete použiť Nancy na poskytovanie základných služieb HTTP s minimálnym úsilím. Ak sa chcete dozvedieť viac informácií o rámci Nancy, pozrite si dokumentáciu na GitHub.

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