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

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να φιλοξενήσει ένα ASP Net Υπηρεσία Web Έξω από IIS

. Πριν από την εισαγωγή του WCF , υπηρεσίες web που αναπτύχθηκε στο Net έπρεπε να φιλοξενείται στον Internet Information Server ( IIS ) . Σε . Net 3.0 , οι επιλογές φιλοξενίας για καθαρά διαδικτυακές υπηρεσίες . Αυξήθηκε σημαντικά . WCF περιλαμβάνει μια κατηγορία που ονομάζεται ServiceHost που επιτρέπει στις υπηρεσίες να φιλοξενηθούν μέσα σε μια εφαρμογή εύκολα . ServiceHost αφαιρεί πολλούς την τεχνολογική πολυπλοκότητα μακριά έτσι ώστε οι προγραμματιστές μπορούν να εστιάσουν στη λογική υπηρεσία, αντί να τα υδραυλικά που εμπλέκονται στις υπηρεσίες φιλοξενίας . Φιλοξενία μια υπηρεσία έξω από το IIS απαιτεί το χρόνο εκτέλεσης WCF και διαχείριση . NET αίτηση να ενεργεί ως οικοδεσπότης . Είναι ευθύνη του προγραμματιστή να γράψει τον κώδικα που ξεκινά και σταματά τον ξενιστή . Οδηγίες
Η 1

Επιλέξτε " Νέα " τότε " Project" από το μενού Αρχείο . Το πλαίσιο διαλόγου New Project εμφανίζεται . 2

Επιλέξτε Visual C # , στη συνέχεια, τα Windows από τη λίστα προτύπων έργου στο πλαίσιο διαλόγου New Project .
Εικόνων 3

Επιλέξτε Console Application από τον κατάλογο των Windows τύπων έργων . Καθορίστε ένα όνομα για το έργο στο πλαίσιο Όνομα . Το όνομα του έργου θα πρέπει να είναι κάτι σχετικό με αυτο που φιλοξενεί μια υπηρεσία web , αν είναι δυνατόν .
Η 4

Πληκτρολογήστε μια τοποθεσία στο πλαίσιο Θέση στο παράθυρο διαλόγου New Project . Εναλλακτικά , κάντε κλικ στο κουμπί " Αναζήτηση" για να μεταβείτε στη θέση όπου το έργο θα αποθηκευτεί . Κάντε κλικ στο κουμπί "OK". Visual Studio θα δημιουργήσει μια νέα εφαρμογή κονσόλας .
5

δεξί κλικ SelfHost στην Εξερεύνηση των λύσεων . Στη συνέχεια , επιλέξτε Προσθήκη αναφοράς . Εντοπίστε System.ServiceModel στην καρτέλα NET . Και κάντε κλικ στο "OK". Αυτό θα προσθέσει μια αναφορά στη συγκρότηση System.ServiceModel που απαιτείται για την ανάπτυξη ή WCF υπηρεσιών υποδοχής .
Η

6 Κάντε διπλό κλικ στο αρχείο κλάσης που προστέθηκε όταν δημιουργήθηκε το έργο . Στις περισσότερες περιπτώσεις θα ονομαστεί Program.cs . Ο κωδικός για την κατηγορία θα εμφανιστεί .
Η

7 Κάντε δεξί κλικ στο όνομα του έργου και επιλέξτε " Προσθήκη Νέας Κατηγορίας . " Ονομάστε την κατηγορία " HelloWorld " και πληκτρολογήστε τον ακόλουθο κώδικα :

χρησιμοποιώντας System.ServiceModel ?

Χρησιμοποιώντας System.ServiceModel.Description ?

[ ServiceContract ] Ξενοδοχεία

δημόσια διεπαφή IHelloWorld

{

[ OperationContract ] Ξενοδοχεία

σειρά sayHello (όνομα string)?

}

δημόσια τάξη HelloWorld : IHelloWorld

{

δημόσια εγχόρδων sayHello (όνομα string)

{

επιστρέψει String.Format ( "Γεια σας , { 0 } " , όνομα ) ?

} }


Αυτός ο κωδικός είναι η εφαρμογή ενός δείγματος " HelloWorld " διαδικτυακή υπηρεσία που έχει μια επιχείρηση , " sayHello . "
8

Κάντε διπλό κλικ στην κατηγορία που προστέθηκε αυτόματα όταν δημιουργήθηκε το έργο . Στις περισσότερες περιπτώσεις , η τάξη θα ονομαστεί Program.cs
Η 9

Εισάγετε τον παρακάτω κωδικό στην κορυφή της κατηγορίας :

χρησιμοποιώντας System.ServiceModel ?

χρησιμοποιώντας System.ServiceModel.Description ?

10

Εισάγετε τον παρακάτω κωδικό στην Κύρια μέθοδος της κλάσης :

//καθορίζει τη βασική διεύθυνση για την υπηρεσία στο τοπικό μηχάνημα

Uri baseAddress = νέα Uri ( " http://localhost:8080/hello ")?

//Δημιουργία του κεντρικού προγράμματος υπηρεσίας

χρήση ( ServiceHost host = νέα ServiceHost . ( typeof ( HelloWorld ) , baseAddress ) )

{

//Ενεργοποίηση δημοσίευση μεταδεδομένων

ServiceMetadataBehavior smb = νέα ServiceMetadataBehavior ()? .

smb . HttpGetEnabled = true ?

smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15 ?

host.Description.Behaviors.Add ( smb ) ?

//Ανοίξτε το ServiceHost να ξεκινήσετε ακούει για μηνύματα

host.Open ( ) ? .

Console.WriteLine ( "Η υπηρεσία λειτουργεί και μπορεί να λάβει το αίτημα { 0 } " , baseAddress ) ?

Console . WriteLine ( " Πατήστε να διακόψει την υπηρεσία . ")?

Console.ReadLine ()? .

//Κλείστε το ServiceHost

host.Close ( ) ? }


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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα