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

Άποψη: 5093|Απάντηση: 2

[Πηγή] [WebView2] (4) Μέθοδοι λειτουργίας κλήσης Web και WinForm μεταξύ τους

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 29/9/2022 9:03:59 μ.μ. | | | |
απαιτήσεις: Το προηγούμενο άρθρο έγραψε σχετικά με τον τρόπο υλοποίησης της διεπαφής ιστού και της εφαρμογής WinForm για επικοινωνία μεταξύ τους για αποστολή μηνυμάτων, αλλά μόνο το μήνυμα στάλθηκε με επιτυχία και δεν ήταν δυνατή η λήψη των πληροφοριών απάντησης. Τι γίνεται αν ο πελάτης C# καλέσει μια μέθοδο συνάρτησης του ιστού για να λάβει το αποτέλεσμα επιστροφής; Και πώς καλεί ο ιστός τον κωδικό C# και λαμβάνει την τιμή επιστροφής;

Αναθεώρηση:

[WebView2] (1) Αρχική εισαγωγή στην τεχνολογία Microsoft Edge WebView2
https://www.itsvse.com/thread-10361-1-1.html

[WebView2] (2) Το WinForm εισάγει το WebView2 για την εμφάνιση περιεχομένου ιστού
https://www.itsvse.com/thread-10362-1-1.html

WebView2 (3) Αμφίδρομη επικοινωνία μεταξύ των εφαρμογών Web και WinForm
https://www.itsvse.com/thread-10364-1-1.html
Αρχικά, ας δούμε τις αποδόσεις της υλοποίησης, ο ιστότοπος που ονομάζεται εφαρμογή WinFormΛήψη δεδομένων προχείρου, εφαρμογή WinFormΚαλέστε τη μέθοδο abc του ιστού για να λάβετε την τιμή επιστροφήςΩς εξής:



Η C# καλεί τη μέθοδο συνάρτησης Web

Αυτό το σενάριο δείχνει πώς μπορείτε να εκτελέσετε JavaScript στον Ιστό. Σε αυτήν τη μέθοδο, η κεντρική εφαρμογή καθορίζει τον κώδικα JavaScript που θα εκτελεστεί και μεταβιβάζει τον κώδικα στον ιστό με το ExecuteScriptAsync. Η συνάρτηση ExecuteScriptAsync επιστρέφει το αποτέλεσμα JavaScript στον καλούντα ExecuteScript.

Ο κώδικας σελίδας Angular index.html έχει ως εξής:

Το frontend ορίζει κυρίως μια συνάρτηση abc.

Το Winform καλεί τη συνάρτηση abc του ιστού με τον ακόλουθο κώδικα:



Μια ιστοσελίδα καλεί μια μέθοδο συνάρτησης C#

Μεταβίβαση εγγενών αντικειμένων στον Ιστό. Στη συνέχεια καλείται η μέθοδος κλήσης του αντικειμένου από τον Ιστό.

Για να χρησιμοποιήσετε ένα μήνυμα που αντιπροσωπεύει μια κλήση μεθόδου, χρησιμοποιήστε το API AddHostObjectToScript. Σε υψηλό επίπεδο, αυτό το API επιτρέπει σε εγγενή αντικείμενα (κεντρικός υπολογιστής) να εκτίθενται στον ιστό και να λειτουργούν ως διακομιστής μεσολάβησης. Χρησιμοποιήστε window.chrome.webview.hostObjects. {name}>a0> πρόσβαση σε αυτά τα αντικείμενα. Τεκμηρίωση αναφοράς:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Δημιουργήστε ένα νέο κουμπί στην ιστοσελίδα, κάντε κλικ στο κουμπί για να καλέσετε τον κωδικό C# για να λάβετε τα δεδομένα του τρέχοντος προχείρου του συστήματος.

Ο κωδικός Angular app.component.html έχει ως εξής:

app.component.ts κωδικός έχει ως εξής:

Ο κώδικας JS front-end έχει σύγχρονες κλήσεις και ασύγχρονες κλήσεις.

c# ορίστε ένα αντικείμενο κεντρικού υπολογιστή WebView2HostObject με τον ακόλουθο κώδικα:


Σημείωση: Οι προσαρμοσμένες WebView2HostObject πρέπει να φέρουν ετικέτα[ClassInterface(ClassInterfaceType.AutoDual)]、[ComVisible(true)]διαφορετικά ο JS δεν θα μπορούσε να έχει πρόσβαση στην κλάση.

Στη συνέχεια, προσθέστε την πρόσφατα καθορισμένη παρουσία μέσω του AddHostObjectToScript(String,Object) με τον ακόλουθο κώδικα:

Τέλος, κάντε κλικ στο κουμπί στο μπροστινό μέρος για να λάβετε τα δεδομένα του προχείρου, το αποτέλεσμα είναι το εξής:



(Τέλος)





Προηγούμενος:WebView2 (3) Αμφίδρομη επικοινωνία μεταξύ των εφαρμογών Web και WinForm
Επόμενος:【Στροφή】Η εντολή CURL χρησιμοποιεί διακομιστές μεσολάβησης και εισάγονται διακομιστές μεσολάβησης
Δημοσιεύτηκε στις 8/10/2022 3:07:01 μ.μ. |
Μάθε το
Δημοσιεύτηκε στις 31/3/2023 1:30:38 μ.μ. |
Μάθετε από αυτό, ευχαριστώ που το μοιραστήκατε
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com