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

Άποψη: 63675|Απάντηση: 8

[.NET Πυρήνας] Οδηγός ASP.NET Core 3.1 Calling .NET 4.0 WCF Services

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 19/7/2020 10:18:08 μ.μ. | | | |
Κατά την ανάπτυξη ενός νέου έργου, χρησιμοποιώντας asp.net βασική τεχνολογία, το παλιό έργο μπορεί να είναι μια υπηρεσία WCF που αναπτύχθηκε χρησιμοποιώντας το .NET Framework 4, επειδή το κόστος ανακατασκευής είναι πολύ υψηλό, είναι απαραίτητο να χρησιμοποιήσετε asp.net πυρήνα για να καλέσετε τη διεπαφή υπηρεσίας WCF.

Αρχικά, δημιουργήστε δύο νέα έργα:

ASP.NET Έργο Core 3.1: dotnet-core-call-wcf
Έργο .NET Framework 4 (εφαρμογή υπηρεσίας WCF): schools-wcf-service

Το Visual Studio 2019 θέλει να δημιουργήσει μια υπηρεσία WCF, δεν μπορεί να βρει το πρότυπο, λύση:

Επιλέξτε Εγκατάσταση περισσότερων εργαλείων και δυνατοτήτων για να ανοίξετε το Visual Studio Installer. Επιλέξτε την καρτέλα Μεμονωμένα στοιχεία, κάντε κύλιση προς τα κάτω στις Δραστηριότητες ανάπτυξης, επιλέξτε Windows Communication Foundation και κάντε κλικ στην επιλογή Τροποποίηση.


Το WCF δημιουργεί δύο διεπαφές ως εξής:

Ο κώδικας υλοποίησης της διεπαφής έχει ως εξής:


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

Όταν ξεκινάτε το έργο wcf, θα εκτελέσει αυτόματα το WcfTestClient και θα προσπαθήσει να το καλέσει όπως φαίνεται στο παρακάτω σχήμα:



Χρησιμοποιήστε ASP.NET βασικά έργα για να καλέσετε υπηρεσίες WCF

Κάντε δεξί κλικ στην επιλογή Συνδεδεμένες υπηρεσίες, επιλέξτε την υπηρεσία στην οποία θέλετε να προσθέσετε μια σύνδεση και επιλέξτε Υπηρεσία WCF, όπως φαίνεται στην παρακάτω εικόνα:



Συμπληρωμένη διεύθυνση υπηρεσίας: http://localhost:3705/Service1.svc

Πιθανά σφάλματα:

WCF:Error:Unable to generate deps.json
https://www.itsvse.com/thread-9288-1-1.html

Επειδή είναι αδύνατο να γράψετε τη διεύθυνση υπηρεσίας WCF μέχρι θανάτου, προσθέστε τον ακόλουθο κώδικα στο αρχείο appsettings.json:

Επεξεργαστείτε το αρχείο Startup.cs και καταχωρήστε την υπηρεσία WCF με τον ακόλουθο κώδικα:

Καλέστε την υπηρεσία wcf στον ελεγκτή HomeController, πρώτη έγχυση κατασκευαστή, ο κωδικός έχει ως εξής:

Κλήση της υπηρεσίας WCF:

Εκτελέστε τον ιστότοπο asp.net Core, το αποτέλεσμα είναι όπως φαίνεται παρακάτω:



Προσπαθούμε να τροποποιήσουμε την υπηρεσία WCF έτσι ώστε η διεπαφή να επιστρέφει το αποτέλεσμα μετά από 3 λεπτά και, στη συνέχεια, να επανεκκινήσουμε asp.net πυρήνα για να καλέσουμε την υπηρεσία WCF και το σφάλμα είναι το εξής:

AggregateException: One or more errors occurred. (The request channel timed out attempting to send after 00:01:00. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.)

Αυτή τη στιγμή, πρέπει να τροποποιήσουμε το προεπιλεγμένο χρονικό όριο, να προσαρμόσουμε τη σύνδεση BasicHttpBinding και να επεξεργαστούμε ξανά το αρχείο Startup.cs, ως εξής:



Λήψη πηγαίου κώδικα:

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





Προηγούμενος:Βοήθεια για την καταστροφή του μητρώου των Windows
Επόμενος:Το VS 2019 χρησιμοποιεί svcutil.exe εργαλεία για τη δημιουργία του αρχείου κλήσης
Δημοσιεύτηκε στις 15/9/2020 4:26:41 μ.μ. |
Μάθε το
Δημοσιεύτηκε στις 11/5/2021 1:58:38 μ.μ. |
Υπάρχει ένα αφεντικό πηγαίου κώδικα
Δημοσιεύτηκε στις 18/6/2021 3:07:44 μ.μ. |
Απλά για να δω
Δημοσιεύτηκε στις 18/6/2021 3:08:38 μ.μ. |
Δεν είναι δυνατή η προβολή του κώδικα
Δημοσιεύτηκε στις 28/6/2021 10:58:22 π.μ. |
Δεν κατάφερα να έχω κανένα αποτέλεσμα, τι συμβαίνει;
Δημοσιεύτηκε στις 4/7/2021 10:21:09 π.μ. |
Επιστρέψτε για να μάθετε από τους θεούς, σας ευχαριστώ που μοιραστήκατε
Δημοσιεύτηκε στις 3/8/2022 3:36:10 μ.μ. |
Οι ίδιες ανάγκες, έλα να μάθεις
Δημοσιεύτηκε στις 2/12/2022 1:17:10 π.μ. |
Μάθε από τους θεούς
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com