Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 63675|Svare: 8

[.NET Core] ASP.NET Core 3.1 Calling .NET 4.0 WCF Services-veiledning

[Kopier lenke]
Publisert på 19.07.2020 22:18:08 | | | |
Når man utvikler et nytt prosjekt, med asp.net kjerneteknologi, kan det gamle prosjektet være en WCF-tjeneste utviklet med .NET Framework 4, og fordi rekonstruksjonskostnaden er for høy, er det nødvendig å bruke kjernen asp.net for å kalle WCF-tjenestegrensesnittet.

Først, lag to nye prosjekter:

ASP.NET Core 3.1-prosjekt: dotnet-core-call-wcf
.NET Framework 4-prosjektet (WCF tjenesteapplikasjon): schools-wcf-service

Visual Studio 2019 ønsker å lage en WCF-tjeneste, finner ikke malen, løsningen:

Velg Installer flere verktøy og funksjoner for å åpne Visual Studio Installer. Velg fanen Individuelle komponenter, bla ned til Utviklingsaktiviteter, velg Windows Communication Foundation, og klikk Endre.


WCF lager to grensesnitt som følger:

Grensesnittimplementeringskoden er som følger:


En tjenestekontrakt er en samling av relaterte tjenesteoperasjoner, og når vi anvender et ServiceContractAttribut på et grensesnitt, gir vi det et servicekontraktattributt. For en slik type blir imidlertid ikke idiomet automatisk en kontraktsmessig tjenesteoperasjon, og først når OperationContractAttributt-funksjonen benyttes kan det tilsvarende metodemedlemmet bli en tjenesteoperasjon som kan nås via tjenestekall.

Når du starter wcf-prosjektet, vil det automatisk kjøre WcfTestClient og prøve å kalle det som vist i figuren under:



Bruk ASP.NET kjerneprosjekter for å kalle WCF-tjenester

Høyreklikk på Connected Services, velg tjenesten du vil legge til en tilkobling til, og velg WCF service, som vist i følgende bilde:



Utfylt tjenesteadresse: http://localhost:3705/Service1.svc

Mulige feil:

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

Siden det er umulig å skrive WCF-tjenesteadressen til døde, legg til følgende kode i appsettings.json-filen:

Rediger Startup.cs-filen og registrer WCF-tjenesten med følgende kode:

Kall wcf-tjenesten på HomeController-kontrolleren, første konstruktørinjeksjon, koden er som følger:

Å ringe WCF-tjenesten:

Kjør asp.net Core-nettsiden, effekten er som vist nedenfor:



Vi prøver å modifisere WCF-tjenesten slik at grensesnittet returnerer resultatet etter 3 minutter, og deretter starter asp.net kjerne på nytt for å kalle WCF-tjenesten, og feilen er som følger:

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

På dette tidspunktet må vi endre standard timeout, tilpasse BasicHttpBinding-bindingen og redigere Startup.cs-filen på nytt, som følger:



Nedlasting av kildekode:

Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snillSvare





Foregående:Hjelp med Windows-register-korrupsjon
Neste:VS 2019 bruker svcutil.exe verktøy for å generere anropsfilen
Publisert på 15.09.2020 16:26:41 |
Lær det
Publisert på 11.05.2021 13:58:38 |
Det finnes en kildekodesjef
Publisert på 18.06.2021 15:07:44 |
Bare for å se
Publisert på 18.06.2021 15:08:38 |
Koden kan ikke sees
Publisert på 28.06.2021 10:58:22 |
Jeg har ikke fått noen resultater, hva skjer?
Publisert på 04.07.2021 10:21:09 |
Kom tilbake for å lære av gudene, takk for at du delte
Publisert på 03.08.2022 15:36:10 |
De samme behovene, kom og lær
Publisert på 02.12.2022 01:17:10 |
Lær av gudene
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com