Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 24900|Απάντηση: 4

[Διαδικτυακό API] Η πρώτη μου έκδοση εφαρμογής ServiceStack Web Service

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 15/1/2018 11:06:52 π.μ. | | | |
Θέλω να δοκιμάσω τη διαφορά μεταξύ του ServiceStack Web και του ενσωματωμένου webapi της Microsoft και να δω ποια πλεονεκτήματα υπάρχουν, γι' αυτό προσπαθήστε να δημιουργήσετε μια εφαρμογή ServiceStack Web Service σήμερα

1: Δημιουργήστε ένα νέο κενό έργο ιστού .NET 4.5 και, στη συνέχεια, χρησιμοποιήστε την εντολή nuget για να εγκαταστήσετε το ServiceStack:

Η έκδοση .NET πρέπει να είναι μεγαλύτερη ή ίση με την έκδοση 4.5, το έργο 4.0 δεν θα εγκατασταθεί με επιτυχία! Όπως φαίνεται στο παρακάτω σχήμα.



2: Δημιουργήστε ένα νέο μοντέλο και φάκελο υπηρεσίας

Δημιουργήστε μια οντότητα αίτησης και απόκρισης με τον ακόλουθο κώδικα:

3: Δημιουργήστε μια διεπαφή υπηρεσίας στο φάκελο υπηρεσίας

4: Δημιουργήστε μια νέα παγκόσμια κλάση εφαρμογών με το όνομα Global.asax σε αυτό το έργο και ο κώδικας είναι ο εξής:




5: Τροποποιήστε τη διαμόρφωση web.config, προσθέστε έναν νέο κόμβο system.webServer και η πλήρης διαμόρφωση έχει ως εξής:



Μέχρι στιγμής η υπηρεσία μας έχει ολοκληρωθεί, τρέχοντας το πρόγραμμα μπορείτε να δείτε τη διεπαφή ως εξής,Το GetAllUserInfoRequest και το GetByAgeUserInfoRequest μπορούν να γίνουν κατανοητές ως πραγματικές μέθοδοι κλήσηςΟι παράμετροι που ορίζονται σε αυτό μπορούν να ερμηνευθούν ως οι παράμετροι αιτήματος της μεθόδου, όπως φαίνεται στο παρακάτω σχήμα:



Οι μέθοδοι εξυπηρέτησης στο ServiceStack ονομάζονται Any, Get και Post, οι οποίες υποστηρίζονται επίσης τύποι αιτημάτων από το ServiceStack.Οποιοδήποτε σημαίνει ότι η υπηρεσία μπορεί να κληθεί τόσο σε HTTP Get όσο και σε HTTP Post。 Αυτό ενισχύει και απλοποιεί την εφαρμογή των WebServices τύπου RESTFull. Απλώς προσθέστε αγάπη [Διαδρομή(...)] σε αυτές τις μεθόδους Ιδιότητες. Στο ServiceStack,Η διαφορά μεταξύ μεθόδων και μεθόδων διακρίνεται από τις παραμέτρους της υπηρεσίας και του αντικειμένου αιτήματος Request DTO, αντί να διαφοροποιείται με βάση το όνομα της μεθόδου όπως στο WCF. Αυτό σημαίνει ότιΈνα αντικείμενο αίτησης DTO δεν μπορεί να επαναχρησιμοποιηθεί σε πολλές υπηρεσίες στο ServiceStack

Η προσθήκη της παραμέτρου format μετά την παράμετρο get request μπορεί να επιστρέψει τον τύπο απόκρισης, όπως: format=json, format=xml, κ.λπ., και φαίνεται ότι υποστηρίζεται και η μορφή jsonp.

Για παράδειγμα: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml



Συνοψίζοντας, σε σύγκριση με το web API της Microsoft, το ServiceStack φαίνεται να μην έχει έννοια μεθόδου στον Ιστό, είναι μια διαφορετική οντότητα αιτήματος είναι μια μέθοδος, μπορεί να δημιουργήσει αυτόματα έγγραφα διεπαφής και η μορφή της απάντησης μπορεί να επιστραφεί μέσω της μορφής (αν και η Microsoft είναι επίσης δυνατή, αλλά φαίνεται πιο απλή από τη Microsoft)

Κωδικός: https://www.cnblogs.com/woxpp/p/5012947.html

https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx

https://github.com/ServiceStack/ServiceStack/wiki

Τέλος, επισυνάψτε τον πηγαίο κώδικα του έργου!

Τουρίστες, αν θέλετε να δείτε το κρυφό περιεχόμενο αυτής της ανάρτησης, παρακαλώΑπάντηση





Προηγούμενος:System.NotImplementedException:“未实现该方法或操作。”
Επόμενος:Το Visual Studio προσθέτει τις ισχυρές δυνατότητες επεξεργασίας του Vim για να δυσκολέψει την πρόληψη!
Δημοσιεύτηκε στις 6/3/2018 3:28:29 μ.μ. |
Κοίτα, πώς είναι;
Δημοσιεύτηκε στις 14/4/2019 8:08:39 μ.μ. |

Κοίτα, πώς είναι;
Δημοσιεύτηκε στις 8/8/2019 8:29:02 π.μ. |
Υπηρεσία Web ServiceStack
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com