See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 63675|Vastuse: 8

[.NET tuum] ASP.NET Core 3.1 Calling .NET 4.0 WCF teenuste õpetus

[Kopeeri link]
Postitatud 19.07.2020 22:18:08 | | | |
Uue projekti arendamisel, kasutades asp.net põhitehnoloogiat, võib vana projekt olla WCF teenus, mis on arendatud .NET Framework 4 abil, kuna rekonstrueerimiskulu on liiga kõrge, tuleb kasutada asp.net tuuma WCF teenuseliidese kutsumiseks.

Esiteks loo kaks uut projekti:

ASP.NET Core 3.1 projekt: dotnet-core-call-wcf
.NET Framework 4 projekt (WCF teenuse rakendus): koolid-wcf-teenindus

Visual Studio 2019 soovib luua WCF teenust, ei leia malli, lahendus:

Vali Installi rohkem tööriistu ja funktsioone, et avada Visual Studio Installer. Vali vahekaart Individuaalkomponendid, kerige alla arendustegevustesse, valige Windows Communication Foundation ja klõpsake Muuda.


WCF loob kaks liidest järgmiselt:

Liidese rakenduskood on järgmine:


Teenuseleping on seotud teenuseoperatsioonide kogum ning kui me rakendame ServiceContractAttribute'i liideses, anname sellele teenuselepingu atribuudi. Kuid sellise tüübi puhul ei muutu selle idioom automaatselt lepinguliseks teenuseoperatsiooniks ning ainult siis, kui rakendatakse OperationContractAttribute omadust, võib vastav meetodi liige muutuda teenuseoperatsiooniks, millele pääseb ligi teenusekutse kaudu.

Kui alustad wcf projekti, käivitab see automaatselt WcfTestClienti ja proovib seda kutsuda, nagu alloleval joonisel näidatud:



Kasuta ASP.NET Core projekte, et kutsuda WCF teenuseid

Paremklõpsuga Connected Services, vali teenus, millele soovid ühendust lisada, ja vali WCF teenus, nagu näidatud järgmisel pildil:



Teenuse aadress täidetud: http://localhost:3705/Service1.svc

Võimalikud vead:

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

Kuna WCF teenuse aadressi surnuks kirjutamine on võimatu, lisa appsettings.json faili järgmine kood:

Muuda Startup.cs faili ja registreeri WCF teenus järgmise koodiga:

Kutsu WCF teenust HomeController kontrolleril, esimene konstruktori süstimine, kood on järgmine:

WCF teenusele helistamine:

Käivita asp.net Core veebileht, efekt on allpool näidatud:



Proovime muuta WCF teenust nii, et liides tagastab tulemuse 3 minuti pärast, ning seejärel taaskäivitame asp.net tuuma, et kutsuda WCF teenus, ja viga on järgmine:

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

Praegu peame muutma vaikimisi ajapiirangut, kohandama BasicHttpBinding sidumist ja Startup.cs faili uuesti redigeerima järgmiselt:



Lähtekoodi allalaadimine:

Turistid, kui soovite näha selle postituse peidetud sisu, palunVastuse





Eelmine:Abi Windowsi registri korruptsiooniga
Järgmine:VS 2019 kasutab svcutil.exe tööriistu kutsefaili genereerimiseks
Postitatud 15.09.2020 16:26:41 |
Õpi seda
Postitatud 11.05.2021 13:58:38 |
On olemas lähtekoodi boss
Postitatud 18.06.2021 15:07:44 |
Lihtsalt selleks, et näha
Postitatud 18.06.2021 15:08:38 |
Koodi ei saa vaadata
Postitatud 28.06.2021 10:58:22 |
Ma pole suutnud tulemusi saada, mis toimub?
Postitatud 04.07.2021 10:21:09 |
Tule tagasi, et jumalatelt õppida, aitäh jagamast
Postitatud 03.08.2022 15:36:10 |
Samad vajadused, tule ja õpi
Postitatud 02.12.2022 01:17:10 |
Õpi jumalatelt
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com