Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 63675|Odgovoriti: 8

[.NET Core] ASP.NET Core 3.1 Kličanje .NET 4.0 WCF Services vodič

[Kopiraj povezavo]
Objavljeno na 19. 07. 2020 22:18:08 | | | |
Pri razvoju novega projekta, ki uporablja asp.net osnovno tehnologijo, je lahko stari projekt WCF storitev, razvita z uporabo .NET Framework 4, ker so stroški rekonstrukcije previsoki, je treba uporabiti asp.net jedro za klic WCF storitvenega vmesnika.

Najprej ustvarite nova dva projekta:

ASP.NET Projekt Core 3.1: dotnet-core-call-wcf
.NET Framework 4 projekt (WCF servisna aplikacija): schools-wcf-service

Visual Studio 2019 želi ustvariti WCF storitev, ne najdem predloge, rešitev:

Izberite Namesti več orodij in funkcij za odpiranje namestitvenega programa Visual Studio. Izberite zavihek Posamezne komponente, se pomaknite navzdol do Razvojne aktivnosti, izberite Windows Communication Foundation in kliknite Spremeni.


WCF ustvari dva vmesnika na naslednji način:

Implementacijska koda vmesnika je naslednja:


Pogodba o storitvah je zbirka povezanih storitvenih operacij, in ko na vmesnik uporabimo atribut ServiceContractAtribut, mu dodelimo atribut storitvene pogodbe. Vendar pa za tak tip idiom ne postane samodejno pogodbena storitvena operacija, in šele ko se uporabi funkcija OperationContractAttribute lahko ustrezni član metode postane storitvena operacija, do katere je mogoče dostopati s servisnim klicem.

Ko začnete projekt WCF, bo samodejno zagnal WcfTestClient in ga poskušal poklicati, kot je prikazano na spodnji sliki:



Uporabite ASP.NET Core projekte za klic storitev WCF

Desni klik na Connected Services, izberite storitev, na katero želite dodati povezavo, in izberite storitev WCF, kot je prikazano na naslednji sliki:



Naslov storitve izpolnjen: http://localhost:3705/Service1.svc

Možne napake:

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

Ker je nemogoče zapisati naslov WCF storitve do smrti, dodajte naslednjo kodo v appsettings.json datoteko:

Uredite datoteko Startup.cs in registrirajte storitev WCF z naslednjo kodo:

Pokliči storitev wcf na krmilniku HomeController, prvi vbrizg konstruktorja, koda je naslednja:

Klicanje storitve WCF:

Poglejte spletno stran asp.net Core, učinek je prikazan spodaj:



Poskušamo spremeniti storitev WCF tako, da vmesnik po 3 minutah vrne rezultat, na asp.net to pa ponovno zaženemo jedro, da pokličemo storitev WCF, in napaka je naslednja:

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.)

Trenutno moramo spremeniti privzeto časovno omejitev, prilagoditi vezavo BasicHttpBinding in ponovno urediti Startup.cs datoteko, kot sledi:



Prenos izvorne kode:

Turisti, če želite videti skrito vsebino te objave, prosimOdgovoriti





Prejšnji:Pomoč pri poškodbi Windows registra
Naslednji:VS 2019 uporablja svcutil.exe orodja za generiranje klicne datoteke
Objavljeno na 15. 09. 2020 16:26:41 |
Nauči se
Objavljeno na 11. 05. 2021 13:58:38 |
Obstaja šef izvorne kode
Objavljeno na 18. 06. 2021 15:07:44 |
Samo da vidim
Objavljeno na 18. 06. 2021 15:08:38 |
Kode ni mogoče videti
Objavljeno na 28. 06. 2021 10:58:22 |
Nisem uspel dobiti nobenih rezultatov, kaj se dogaja?
Objavljeno na 4. 07. 2021 10:21:09 |
Vrni se in se uči od bogov, hvala, ker si delil
Objavljeno na 3. 08. 2022 15:36:10 |
Iste potrebe, pridi in se uči
Objavljeno na 2. 12. 2022 01:17:10 |
Uči se od bogov
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com