Το πλήρες όνομα του OWIN είναι Open Web Interface για .NET. Εάν αναλύσουμε μόνο από το όνομα, μπορούμε να λάβουμε αυτές τις πληροφορίες: Το OWIN είναι μια ανοιχτή διεπαφή ιστού για την πλατφόρμα .NET. Ποια είναι λοιπόν η διεπαφή μεταξύ της διεπαφής ιστού; Είναι η διεπαφή μεταξύ της εφαρμογής web και του διακομιστή web και το OWIN είναι η διεπαφή μεταξύ της εφαρμογής web .NET και του διακομιστή web. Γιατί χρειάζεστε μια τέτοια διεπαφή; Επειδή. Η εφαρμογή web NET εκτελείται σε διακομιστή web και η εφαρμογή web .NET πρέπει να λάβει το αίτημα του χρήστη μέσω του διακομιστή web και να στείλει το περιεχόμενο απόκρισης στον χρήστη μέσω του διακομιστή web. Χωρίς μια τέτοια διεπαφή, η εφαρμογή web .NET θα εξαρτιόταν από τον συγκεκριμένο διακομιστή ιστού που εκτελούσε, για παράδειγμα ASP.NET η εφαρμογή θα εξαρτιόταν από τις υπηρεσίες IIS. Με αυτήν τη διεπαφή, ASP.NET εφαρμογή χρειάζεται μόνο να βασίζεται σε αυτήν την αφηρημένη διεπαφή και δεν ενδιαφέρεται για τον διακομιστή ιστού που εκτελεί. Επομένως, ο ρόλος του OWIN είναι να αποσυνδεθεί εισάγοντας ένα σύνολο αφηρημένων διεπαφών. NET web application και web server, αποδεικνύοντας για άλλη μια φορά τη σημασία των διεπαφών. Στην ανάπτυξη λογισμικού, κάθε αποσύνδεση είναι ένα μεγάλο βήμα προς τα εμπρός. 【Περαιτέρω κατανόηση】 Το OWIN είναι μια αφαίρεση του ASP.NET Runtime. ASP.NET 5.0 είναι μια υλοποίηση του OWIN. Τα ακόλουθα διαγράμματα μπορούν να γίνουν πιο διαισθητικά κατανοητά:
Γνωρίζοντας κάποια βασική θεωρία, ας την αναπτύξουμε στην πράξη.
OWIN Self-Host ASP.NET Web API 2 Αρχικά, δημιουργούμε ένα κενό έργο κονσόλας:
Στη συνέχεια, εγκαταστήστε το Microsoft.AspNet.WebApi.OwinSelfHost μέσω του Nuget
Μπορούμε επίσης να ανοίξουμε την κονσόλα NuGet: Εισαγάγετε την εντολή: Install-Package Microsoft.AspNet.WebApi.OwinSelfHost
Στη συνέχεια, προσθέτουμε μια κλάση εκκίνησης OWIN με το όνομα Startup ως εξής:
Γράψτε κώδικα στην εκκίνηση ως εξής:
Ας γράψουμε έναν ελεγκτή WebAPI με τον ακόλουθο κώδικα:
Τέλος ξεκινάμε το OWIN και προσθέτουμε τον ακόλουθο κώδικα στο Program.cs:
Εκκινήστε το πρόγραμμα της κονσόλας και αποκτήστε πρόσβαση στη διεύθυνση που μόλις ορίσαμε:
http://localhost:8080/api/Account
|