Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 5093|Atbildi: 2

[Avots] [WebView2] (4) Web un WinForm izsaukšanas funkciju metodes

[Kopēt saiti]
Publicēts 29.09.2022 21:03:59 | | | |
Prasības: Iepriekšējā rakstā tika rakstīts par to, kā ieviest tīmekļa saskarni un WinForm lietojumprogrammu, lai sazinātos savā starpā, lai nosūtītu ziņojumus, bet tikai ziņojums tika veiksmīgi nosūtīts, un atbildes informāciju nevarēja iegūt. Ko darīt, ja C# klients izsauc tīmekļa funkciju metodi, lai iegūtu atgriešanās rezultātu? Un kā tīmeklis izsauc C# kodu un iegūst atgriešanas vērtību?

Pārskats:

[WebView2] (1) Sākotnējais ievads Microsoft Edge WebView2 tehnoloģijā
https://www.itsvse.com/thread-10361-1-1.html

[WebView2] (2) WinForm ievieš WebView2, lai parādītu tīmekļa saturu
https://www.itsvse.com/thread-10362-1-1.html

WebView2 (3) Divvirzienu saziņa starp Web un WinForm lietojumprogrammām
https://www.itsvse.com/thread-10364-1-1.html
Pirmkārt, apskatīsim ieviešanas atveidojumus, tīmekļa vietne izsauc WinForm lietojumprogrammuStarpliktuves datu iegūšana, WinForm lietotneIzsauciet tīmekļa metodi abc, lai iegūtu atgriezto vērtībuŠādi:



C# izsauc Web funkcijas metodi

Šis scenārijs parāda, kā palaist JavaScript tīmeklī. Izmantojot šo metodi, resursdatora programma norāda JavaScript kodu, kas jāpalaiž, un nodod kodu tīmeklim, izmantojot ExecuteScriptAsync. Funkcija ExecuteScriptAsync atgriež JavaScript rezultātu ExecuteScript zvanītājam.

Angular index.html lapas kods ir šāds:

Frontend galvenokārt definē abc funkciju.

Winform izsauc tīmekļa funkciju abc ar šādu kodu:



Tīmekļa lapa izsauc C# funkcijas metodi

Vietējo objektu nodošana tīmeklī. Pēc tam tiek izsaukta objekta izsaukšanas metode no tīmekļa.

Lai izmantotu ziņojumu, kas apzīmē metodes izsaukumu, izmantojiet API AddHostObjectToScript. Augstā līmenī šī API ļauj vietējos (resursdatora) objektus pakļaut tīmeklim un darboties kā starpniekserveri. Izmantojiet window.chrome.webview.hostObjects. {name}>a0> piekļūt šiem objektiem. Atsauces dokumentācija:Hipersaites pieteikšanās ir redzama.

Izveidojiet jaunu pogu tīmekļa lapā, noklikšķiniet uz pogas, lai izsauktu C# kodu, lai iegūtu sistēmas pašreizējās starpliktuves datus.

Angular app.component.html kods ir šāds:

app.component.ts kods ir šāds:

Priekšgala JS kodam ir sinhroni izsaukumi un asinhroni zvani.

c# definējiet WebView2HostObject resursdatora objektu ar šādu kodu:


Piezīme: Pielāgotām WebView2HostObject klasēm jābūt atzīmētām[ClassInterface(ClassInterfaceType.AutoDual)]、[ComVisible(true)]rekvizīts, pretējā gadījumā JS nevarētu piekļūt klasei.

Pēc tam pievienojiet jaundefinēto instanci, izmantojot AddHostObjectToScript(String,Object) ar šādu kodu:

Visbeidzot, noklikšķiniet uz pogas priekšgalā, lai iegūtu starpliktuves datus, efekts ir šāds:



(Beigas)





Iepriekšējo:WebView2 (3) Divvirzienu saziņa starp Web un WinForm lietojumprogrammām
Nākamo:【Pagriezt】 CURL komanda izmanto starpniekserverus un tiek ieviesti starpniekserveri
Publicēts 08.10.2022 15:07:01 |
Uzziniet to
Publicēts 31.03.2023 13:30:38 |
Mācieties no tā, paldies, ka dalījāties
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com