Πριν από δύο ημέρες, επανεκτύπωσα μια ανάλυση εκκίνησης πυρήνα .NET, επειδή ήμουν μπλεγμένος στην προεπιλεγμένη θύρα 5000 όταν κυκλοφόρησε, οπότε τη μελέτησα προσεκτικά.
1. Ενσωμάτωση IIS
Εάν χρησιμοποιείτε τις υπηρεσίες IIS ως κεντρικό υπολογιστή, τότε αυτές δεν αποτελούν πρόβλημα, οι ισχυρές υπηρεσίες IIS μπορούν να μας βοηθήσουν να διαμορφώσουμε το όνομα τομέα, τη θύρα κ.λπ. Όσο για το πώς να αναπτύξετε μια asp.net βασική εφαρμογή web στις υπηρεσίες IIS, δεν είναι αυτό το θέμα εδώ. Περιγράψτε το χονδρικά:
Πρέπει να κάνετε λήψη του Net Core SDK και του Server Hosting και η διεύθυνση λήψης είναι https://www.microsoft.com/net/download
Μετά την εγκατάσταση, ελέγξτε εάν το .NET Core SDK έχει εγκατασταθεί με επιτυχία στις πληροφορίες dotnet της γραμμής εντολών
Το εάν ο κεντρικός υπολογιστής διακομιστή έχει εγκατασταθεί με επιτυχία στη λειτουργική μονάδα IIS και στην αντιστοίχιση δείκτη χειρισμού φαίνεται παρακάτω
Στη συνέχεια, ρυθμίστε την τοποθεσία και καθορίστε τα αρχεία στην τοποθεσία δημοσίευσης
Τέλος, θα πρέπει να ρυθμιστεί ο χώρος συγκέντρωσης προγραμμάτων και να επιλέξετε μη διαχειριζόμενος, έτσι ώστε να υπάρχει ένα αίτημα προώθησης κεντρικού υπολογιστή διακομιστή.
2. Περιβάλλον Linux
Για να μην αναφέρουμε τη συγκεκριμένη εγκατάσταση, υπάρχουν επίσης πολλές. Σύμφωνα με τις οδηγίες στον επίσημο ιστότοπο, δηλαδή, εγκαταστήστε το περιβάλλον λειτουργίας .NET Core και μπορεί να εκτελείται.
Ακολουθεί μια προτεινόμενη ανάρτηση ιστολογίου για δική σας αναφορά: Ανάπτυξη εφαρμογών ASP.NET Core στην παραγωγή (CentOS7)
Επιστροφή στο κύριο σημείο, πώς να ρυθμίσετε τις παραμέτρους URL και θύρας
1. Καθορίστε στην κύρια μέθοδο του προγράμματος
Αυτή η προσέγγιση είναι άκαμπτη και όχι τόσο κομψή ακόμα κι αν διαβαστεί με την προσθήκη ενός αρχείου διαμόρφωσης. Εκείνη τη στιγμή, ένιωσα ότι η Microsoft σίγουρα δεν θα συνιστούσε μια τέτοια χρήση, οπότε συνέχισα να την ψάχνω.
2. Περάστε τη μεταβλητή περιβάλλοντος
Είδα ένα άρθρο στο Διαδίκτυο Πώς να ρυθμίσετε τις διευθύνσεις URL του Kestrel στο ASP.NET Core RC2,
Παρόλο που εξακολουθεί να έχει ρυθμιστεί μέσω του αρχείου ρυθμίσεων, δεν χρειάζεται να διαβάσει τις πληροφορίες διαμόρφωσης σε άλλα άρθρα και μπορεί να χρησιμοποιηθεί απευθείας με σύνδεση ή επικόλληση του κώδικα για να δείτε:
hosting.json
Program.cs
Με αυτόν τον τρόπο μπορεί επίσης να ακούσει
Τώρα ακούγοντας στο: http://localhost:60000
Τώρα ακούγοντας: http://localhost:60001
Δεν είναι καταπληκτικό! Δεν αντέχω την πραγματική μάχη, αφαιρέστε τον πηγαίο κώδικα! Μακράν το καλύτερο πράγμα για το .NET Core είναι ότι έχει πηγαίο κώδικα!
Με την προμήθεια, μπορούμε να γνωρίζουμε ότι είναι κυρίως η κλάση WebHostBuilder, κάτω από τον χώρο ονομάτων Microsoft.AspNetCore.Hosting.
Η κύρια μέθοδος είναι το Build
Η κύρια εστίαση εδώ είναι να δημιουργήσετε ένα αντικείμενο WebHost και στη συνέχεια να κοιτάξετε περαιτέρω
Εξετάζοντας τον πηγαίο κώδικα μέσω της μεθόδου Initialize, μπορούμε να γνωρίζουμε τη διεύθυνση URL που δημιουργήθηκε με τη μέθοδο EnsureServer
Εδώ μπορούμε να δούμε ότι διαβάζει _config[WebHostDefaults.ServerUrlsKey] και _config[DeprecatedServerUrlsKey] από τη διαμόρφωση.
Η τιμή του WebHostDefaults.ServerUrlsKey είναι μια σταθερή τιμή
Η τιμή του DeprecatedServerUrlsKey ορίζεται στην αρχή του αντικειμένου WebHost
Ω! Η αλήθεια αποκαλύπτεται. Έτσι μπορούμε να ορίσουμε το "server.urls" στο αρχείο ρυθμίσεων.
Περίληψη:
Συνοψίζοντας, asp.net πυρήνας θα διαβάσει τη διαμόρφωση στη μεταβλητή περιβάλλοντος κατά την εκκίνηση και το πραγματικό σημείο είναι να προσθέσετε την ακόλουθη ρύθμιση παραμέτρων στις ιδιότητες του έργου:
Ξεκίνησε σε λειτουργία κονσόλας και διαπιστώθηκε ότι η θύρα έχει αλλάξει.
Αυτό είναι λοιπόν ένα περιβάλλον ανάπτυξης, πώς να το αναπτύξετε στη γραμμή παραγωγής; Αυτό είναι επίσης πολύ απλό, λαμβάνοντας ως παράδειγμα την ανάπτυξη Linux, χρησιμοποιώντας τον επόπτη δαίμονα για να ξεκινήσετε το πρόγραμμα, προσθέστε μεταβλητές περιβάλλοντος στη διαμόρφωση εκκίνησης του επόπτη:
Πετύχετε με άριστα! Δεν χρειάζεται να αλλάξει ούτε μια γραμμή κώδικα, χαχα~ |