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

Παρουσιάζουμε το πλαίσιο ASP.Net Core MVC

Το ASP.Net Core MVC είναι ένα πλαίσιο ανάπτυξης εφαρμογών ιστού πολλαπλών πλατφορμών που αξιοποιεί τα οφέλη του χρόνου εκτέλεσης ASP.Net Core, ενώ ταυτόχρονα σας δίνει τη δυνατότητα να σχεδιάσετε εφαρμογές που μπορούν να δοκιμαστούν και να διατηρηθούν και μπορούν να αναπτυχθούν και να αναπτυχθούν σε πολλές πλατφόρμες. Λάβετε υπόψη ότι το MVC Core δεν χρειάζεται IIS για φιλοξενία - μπορείτε να φιλοξενήσετε εφαρμογές MVC Core στο Kestrel ή ακόμη και να αυτο-φιλοξενούνται. Το ASP.Net MVC Core είναι ανοιχτού κώδικα, διαθέτει ενσωματωμένη υποστήριξη για έγχυση εξάρτησης και είναι επεκτάσιμο. Σημειώστε ότι το πλαίσιο MVC σάς βοηθά να απομονώσετε τις ανησυχίες στις εφαρμογές σας και να δημιουργήσετε εφαρμογές που είναι πιο εύκολο να δοκιμαστούν και να συντηρηθούν.

Οι βασικές δυνατότητες του MVC Core περιλαμβάνουν δρομολόγηση, δέσμευση μοντέλου, επικύρωση μοντέλου, έγχυση εξάρτησης, φίλτρα, περιοχές, API Ιστού, προβολές με έντονα δακτυλογραφημένα στοιχεία, βοηθητικά στοιχεία ετικετών και στοιχεία προβολής. Ας ρίξουμε μια σύντομη ματιά σε κάθε μία από αυτές τις λειτουργίες. Θα επανεξετάσουμε καθένα από αυτά σε μεταγενέστερες δημοσιεύσεις εδώ.

Δρομολόγηση

Ο κινητήρας δρομολόγησης του ASP.Net Core MVC είναι χτισμένος πάνω από τον κινητήρα δρομολόγησης ASP.Net Core. Τώρα έχετε υποστήριξη για δρομολόγηση με δύο διαφορετικούς τρόπους - τη δυνατότητα δρομολόγησης βάσει συμβάσεων και τη δυνατότητα δρομολόγησης βάσει χαρακτηριστικών. Στην πρώτη, μπορείτε να ορίσετε μορφές διευθύνσεων URL για την εφαρμογή σας παγκοσμίως, όπως φαίνεται παρακάτω.

Routes.MapRoute (όνομα: "Προεπιλογή", πρότυπο: "{controller = Home} / {action = Index} / {id?}");

Η δρομολόγηση χαρακτηριστικών σάς δίνει τη δυνατότητα να καθορίσετε πληροφορίες δρομολόγησης εφαρμόζοντας χαρακτηριστικά στους ελεγκτές σας και μεθόδους δράσης όπως φαίνεται στο απόσπασμα κώδικα που δίνεται παρακάτω.

[Διαδρομή ("api / πελάτες")]

δημόσια τάξη CustomersController: Controller

{

[HttpGet ("{id}")]

δημόσιο IActionResult GetCustomer (int id)

  {

// Γράψτε τον συνηθισμένο κωδικό σας εδώ

  }

}

Επικύρωση μοντέλου

Μπορείτε να διακοσμήσετε τα αντικείμενα του μοντέλου σας χρησιμοποιώντας χαρακτηριστικά για την εκτέλεση επικύρωσης μοντέλου στον κώδικα ASP.Net MVC Το παρακάτω απόσπασμα κώδικα δείχνει πώς μπορείτε να εκμεταλλευτείτε τους σχολιασμούς δεδομένων για να διακοσμήσετε το μοντέλο σας.

χρησιμοποιώντας το System.ComponentModel.DataAnnotations;

δημόσια τάξη CustomerViewModel

{

[Απαιτείται]

[Ονομα]

δημόσια συμβολοσειρά FirstName {get; σειρά; }

[Απαιτείται]

[Επίθετο]

δημόσια συμβολοσειρά LastName {get; σειρά; }

}

Σημειώστε ότι τα χαρακτηριστικά επικύρωσης ελέγχονται τόσο από την πλευρά του πελάτη όσο και από την πλευρά του διακομιστή.

public async Task SaveData (μοντέλο CustomerViewModel, string returnUrl = null)

{

εάν (ModelState.IsValid)

    {

// Γράψτε τον κωδικό σας εδώ για να αποθηκεύσετε δεδομένα

    }

// Προέκυψε σφάλμα

Επιστροφή Προβολή (μοντέλο);

}

Ενεση εξάρτησης

Δεδομένου ότι το ASP.Net MVC Core είναι χτισμένο πάνω από το ASP.Net Core, κληρονομεί επίσης τις δυνατότητες έγχυσης εξάρτησης του ASP.Net Core. Η υποστήριξη για έγχυση εξάρτησης και το πλαίσιο εντοπισμού υπηρεσιών είναι ενσωματωμένο στο ASP.Net Core. Υπάρχουν τέσσερις τρόποι με τους οποίους ένας τύπος μπορεί να εγχυθεί. Αυτά περιλαμβάνουν: Singleton, Scoped, Transient και Instance.

Το ASP.Net MVC Core σάς επιτρέπει να εισάγετε εξαρτήσεις χρησιμοποιώντας κατασκευαστές στις τάξεις του ελεγκτή. Μπορείτε επίσης να εισάγετε εξαρτήσεις στα αρχεία προβολής χρησιμοποιώντας την οδηγία @inject.

Μπορείτε να καταχωρίσετε έναν τύπο στη μέθοδο ConfigureServices του αρχείου Startup.cs όπως φαίνεται παρακάτω.

public void ConfigureServices (υπηρεσίες IServiceCollection)

{

υπηρεσίες.AddMvc ();

υπηρεσίες. AddSingleton ();

}

Μόλις ο τύπος καταχωρηθεί στο πλαίσιο, μπορείτε να κάνετε την ένεση του τύπου χρησιμοποιώντας τον κατασκευαστή ενός ελεγκτή όπως φαίνεται παρακάτω.

δημόσια τάξη CustomerController: Controller

{

ιδιωτικό καταγραφικό ILoggingService;

δημόσιο CustomerController (καταγραφέας ILoggingService)

   {

this.logger = καταγραφέας;

   }

}

Ισχυρά δακτυλογραφημένες προβολές

Το ASP.Net Core MVC παρέχει υποστήριξη για έντονα δακτυλογραφημένες προβολές. Έτσι, οι προβολές ξυραφιών μπορούν επίσης να πληκτρολογηθούν έντονα.

@model IEnumerable

    @foreach (Πελάτης c στο μοντέλο)

        {

           

  • @ c.FirstName
  •        

  • @ c.LastName
  •     }

    Υποστήριξη για βοηθούς ετικετών

    Οι βοηθοί ετικετών χρησιμοποιούνται για να επιτρέψουν στον κώδικα του διακομιστή να δημιουργεί και να αποδίδει στοιχεία HTML. Έχετε πολλούς ενσωματωμένους βοηθούς ετικετών στο ASP.Net Core MVC. Μπορείτε επίσης να δημιουργήσετε τον προσαρμοσμένο βοηθό ετικετών. Οι ενσωματωμένοι βοηθοί ετικετών μπορούν να χρησιμοποιηθούν για τη δημιουργία φορμών, τη φόρτωση στοιχείων κ.λπ.

    Υποστήριξη για το Web API

    Το ASP.Net MVC Core παρέχει εξαιρετική υποστήριξη για τη δημιουργία ελαφρών υπηρεσιών χρησιμοποιώντας το Web API που μπορεί να τρέχει μέσω HTTP. Το ASP.Net Web API είναι ένα πλαίσιο στο οποίο μπορείτε να χρησιμοποιήσετε για τη δημιουργία ελαφρών υπηρεσιών Ιστού που χρησιμοποιούν HTTP ως πρωτόκολλο. Το Web API παρέχει ενσωματωμένη υποστήριξη για διαπραγμάτευση περιεχομένου, διαμορφωτές και κοινή χρήση πόρων μεταξύ τους (CORS).

    Cloud Ready

    Με το MVC Core, μπορείτε πλέον να δημιουργήσετε και να διαμορφώσετε τις εφαρμογές σας ώστε να είναι έτοιμες για cloud. Η δημιουργία και ανάπτυξη εφαρμογών για το cloud είναι πλέον απρόσκοπτη με εξαιρετική υποστήριξη για διαμόρφωση βάσει περιβάλλοντος. Στην ουσία, έχετε τώρα υποστήριξη για ένα σύστημα διαμόρφωσης που βασίζεται στο περιβάλλον και είναι έτοιμο για cloud. Αυτό βοηθά στην εξοικονόμηση χρόνου που διαφορετικά πρέπει να χάσετε λόγω σφαλμάτων που προκύπτουν κατά την ανάπτυξη.

    Θα συζητήσω για το πώς μπορούμε να δημιουργήσουμε εφαρμογές χρησιμοποιώντας το πλαίσιο MVC Core σε μια μεταγενέστερη ανάρτηση εδώ.

Copyright el.verticalshadows.com 2024

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