Προγραμματισμός

Πώς να χρησιμοποιήσετε το Nancy στο ASP.Net Core

Το Nancy είναι ένα ελαφρύ πλαίσιο για τη δημιουργία υπηρεσιών που βασίζονται σε HTTP. Η Nancy προτιμά τις συμβάσεις σε σχέση με τη διαμόρφωση και παρέχει υποστήριξη για λειτουργίες GET, HEAD, POST, PUT, DELETE και PATCH. Το Nancy είναι επίσης ανοιχτού κώδικα υπό την άδεια MIT. Αυτό το άρθρο παρουσιάζει μια συζήτηση για το πώς μπορούμε να χρησιμοποιήσουμε το Nancy με μια εφαρμογή ASP.Net Core.

Το Nancy είναι ένα πλαίσιο ιστού και δεν εξαρτάται από το System.Web ή άλλες βιβλιοθήκες .Net. Το πιο σημαντικό, δεν είστε υποχρεωμένοι να ακολουθήσετε το μοτίβο MVC ή οποιοδήποτε άλλο μοτίβο εάν χρησιμοποιείτε το Nancy. Το Nancy είναι απλώς ένα τελικό σημείο υπηρεσίας που μπορεί να ανταποκριθεί σε ρήματα HTTP. Αυτό καθιστά τη Nancy μια καλή επιλογή για τη δημιουργία ιστότοπων, API και υπηρεσιών ιστού.

Ο Νανσί είναι οικοδεσπότης-αγνωστικός. Μπορείτε να το εκτελέσετε στις υπηρεσίες IIS, στο WCF, ως υπηρεσία Windows, ενσωματωμένο σε ένα αρχείο .exe ή μέσα σε μια εφαρμογή που φιλοξενείται αυτόματα. Το Nancy είναι αρκετά εύκολο να ρυθμιστεί και να προσαρμοστεί. Ένα άλλο πλεονέκτημα του Nancy είναι η ενσωματωμένη υποστήριξη για έγχυση εξάρτησης. Το Nancy παρέχει επίσης μια βιβλιοθήκη που μπορεί να χρησιμοποιηθεί για τον εύκολο έλεγχο του κύκλου αιτήσεων-απόκρισης. Θα συζητήσω αυτήν τη δυνατότητα του Nancy σε μια μεταγενέστερη δημοσίευση.

Δημιουργήστε ένα έργο ASP.Net Core στο Visual Studio

Πρώτα απ 'όλα, ας δημιουργήσουμε ένα έργο ASP.Net Core στο Visual Studio. Εάν δεν έχετε εγκαταστήσει το Visual Studio 2019 στο σύστημά σας, μπορείτε να το κατεβάσετε εδώ.

Για να δημιουργήσετε ένα νέο έργο ASP.Net Core στο Visual Studio 2019, ακολουθήστε τα παρακάτω βήματα.

  1. Εκκινήστε το Visual Studio IDE.
  2. Κάντε κλικ στο "Δημιουργία νέου έργου".
  3. Στο παράθυρο "Δημιουργία νέου έργου", επιλέξτε "ASP.Net Core Web Application" από τη λίστα των προτύπων που εμφανίζονται.
  4. Κάντε κλικ στο Επόμενο.
  5. Στο παράθυρο "Διαμόρφωση του νέου έργου", καθορίστε το όνομα και την τοποθεσία για το νέο έργο.
  6. Κάντε κλικ στο Δημιουργία.
  7. Στο παράθυρο "Δημιουργία νέας εφαρμογής ASP.Net Core Web", επιλέξτε .Net Core ως χρόνο εκτέλεσης και ASP.Net Core 2.2 (ή μεταγενέστερη έκδοση) από την αναπτυσσόμενη λίστα στην κορυφή.
  8. Επιλέξτε "Εφαρμογή Ιστού" ως πρότυπο έργου.
  9. Βεβαιωθείτε ότι τα πλαίσια ελέγχου "Ενεργοποίηση υποστήριξης Docker" και "Διαμόρφωση για HTTPS" δεν είναι επιλεγμένα, καθώς δεν θα χρησιμοποιούμε αυτές τις δυνατότητες εδώ.
  10. Βεβαιωθείτε ότι ο Έλεγχος ταυτότητας έχει οριστεί σε "Χωρίς έλεγχο ταυτότητας", καθώς ούτε θα χρησιμοποιούμε έλεγχο ταυτότητας.
  11. Κάντε κλικ στο Δημιουργία.

Θα πρέπει τώρα να έχετε ένα νέο έργο ASP.Net Core έτοιμο να ξεκινήσει στο Visual Studio. Θα χρησιμοποιήσουμε αυτό το έργο στις παρακάτω ενότητες για να δημιουργήσουμε την προσαρμοσμένη φιλοξενούμενη υπηρεσία μας.

Εγκαταστήστε και διαμορφώστε το Nancy στο ASP.Net Core

Για να εγκαταστήσετε το Nancy, κάντε δεξί κλικ στο έργο σας στο παράθυρο Solution Explorer και επιλέξτε "Διαχείριση πακέτων NuGet…". Στη συνέχεια, στο παράθυρο του NuGet Package Manager, αναζητήστε το Nancy και εγκαταστήστε το. Εναλλακτικά, μπορείτε να εγκαταστήσετε το Nancy από την κονσόλα NuGet Package Manager χρησιμοποιώντας την ακόλουθη εντολή.

Εγκατάσταση-πακέτο Nancy

Μόλις εγκατασταθεί το Nancy, το επόμενο πράγμα που πρέπει να κάνετε είναι να διαμορφώσετε το Nancy. Για να το κάνετε αυτό, πρέπει να καλέσετε τη μέθοδο UseNancy στη μέθοδο Configure της κατηγορίας Startup όπως φαίνεται παρακάτω.

public void Configure (εφαρμογή IApplicationBuilder, IHostingEnvironment env)

 {

app.UseMvc ();

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

 }

Δημιουργήστε την πρώτη σας μονάδα Nancy στο ASP.Net Core

Μέχρι εδώ καλά. Ας δημιουργήσουμε τώρα μια ενότητα Nancy και γράψτε κάποιο κωδικό για αυτό. Η μονάδα Nancy είναι μια τυπική κλάση C # που επεκτείνει την κλάση NancyModule του πλαισίου Nancy.

δημόσια τάξη HomeModule: NancyModule

{

}

Πρέπει να σημειωθεί ότι πρέπει να δηλώσετε τη μονάδα Nancy ως δημόσια. Το πλαίσιο Nancy δεν μπορεί να ανακαλύψει μια ενότητα που δεν έχει επισημανθεί ως δημόσια.

Δημιουργήστε διαδρομές σε μια ενότητα Nancy στο ASP.Net Core

Μια μονάδα Nancy καθορίζει τις διαδρομές στον κατασκευαστή της. Για να ορίσετε μια διαδρομή στο Nancy, πρέπει να καθορίσετε το ρήμα HTTP, το μοτίβο, την ενέργεια και (προαιρετικά) την κατάσταση. Εδώ είναι ένα παράδειγμα που απεικονίζει έναν ορισμό διαδρομής Nancy

δημόσια τάξη HomeModule: NancyModule

{

δημόσιο HomeModule ()

    {

Λήψη ("/", args => GetAllAuthors ());

Λήψη ("/ {id: int}", args => GetAuthorById (args.id));

    }

}

Στην ουσία, μια ενότητα Nancy είναι ένα μέρος για τον ορισμό των τελικών σημείων HTTP. Το παρακάτω απόσπασμα κώδικα απεικονίζει μια ενότητα Nancy που μπορεί να χειριστεί τρία διαφορετικά αιτήματα GET.

δημόσια τάξη HomeModule: NancyModule

    {

δημόσιο HomeModule ()

        {

Λήψη ("/", args => "Καλώς ήλθατε στο Nancy.");

Λήψη ("/ Test", args => "Δοκιμή μηνύματος.");

Λήψη ("/ Hello", args => $ "Γεια σας {this.Request.Query [" name "]}");

        }

    }

Το Nancy δεν είναι μόνο ελαφρύ, αρθρωτό και γρήγορο, αλλά είναι πολύ εύκολο να το εγκαταστήσετε και να το διαμορφώσετε. Μπορείτε να χρησιμοποιήσετε το Nancy για να παρέχετε βασικές υπηρεσίες HTTP με ελάχιστη προσπάθεια. Για να μάθετε περισσότερα σχετικά με το πλαίσιο Nancy, μπορείτε να ανατρέξετε στην τεκμηρίωση στο GitHub.