Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 63675|Svar: 8

[.NET Core] ASP.NET Core 3.1 Calling .NET 4.0 WCF Services handledning

[Kopiera länk]
Publicerad på 2020-07-19 22:18:08 | | | |
När man utvecklar ett nytt projekt, med asp.net kärnteknologi, kan det gamla projektet vara en WCF-tjänst utvecklad med .NET Framework 4, eftersom rekonstruktionskostnaden är för hög är det nödvändigt att använda asp.net kärna för att anropa WCF-tjänstegränssnittet.

Först, skapa två nya projekt:

ASP.NET Core 3.1-projekt: dotnet-core-call-wcf
.NET Framework 4-projektet (WCF-tjänsteapplikation): schools-wcf-service

Visual Studio 2019 vill skapa en WCF-tjänst, kan inte hitta mallen, lösningen:

Välj Installera fler verktyg och funktioner för att öppna Visual Studio Installer. Välj fliken Individuella komponenter, scrolla ner till Utvecklingsaktiviteter, välj Windows Communication Foundation och klicka på Modifiera.


WCF skapar två gränssnitt enligt följande:

Gränssnittets implementeringskod är följande:


Ett servicekontrakt är en samling relaterade serviceoperationer, och när vi applicerar ett ServiceContractAttribute på ett gränssnitt ger vi det ett servicekontraktsattribut. För en sådan typ blir dock inte dess idiom automatiskt en kontraktsbaserad tjänsteoperation, och endast när funktionen OperationContractAttribute tillämpas kan motsvarande metodmedlem bli en tjänsteoperation som kan nås via tjänsteanrop.

När du startar wcf-projektet kommer det automatiskt att köra WcfTestClient och försöka anropa det som visas i figuren nedan:



Använd ASP.NET kärnprojekt för att kalla WCF-tjänster

Högerklicka på Connected Services, välj den tjänst du vill lägga till en anslutning till och välj WCF-tjänst, som visas i följande bild:



Tjänsteadress fylld: http://localhost:3705/Service1.svc

Möjliga fel:

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

Eftersom det är omöjligt att skriva WCF-tjänsteadressen till döds, lägg till följande kod i appsettings.json-filen:

Redigera Startup.cs-filen och registrera WCF-tjänsten med följande kod:

Anropa wcf-tjänsten på HomeController-kontrollern, första konstruktörinjektionen, koden är följande:

Anrop till WCF-tjänsten:

Kör asp.net Core-webbplatsen, effekten är som visas nedan:



Vi försöker modifiera WCF-tjänsten så att gränssnittet returnerar resultatet efter 3 minuter, och sedan starta om asp.net kärna för att anropa WCF-tjänsten, och felet är följande:

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

Just nu behöver vi ändra standardtimeouten, anpassa BasicHttpBinding-bindningen och redigera om Startup.cs-filen, enligt följande:



Källkodsnedladdning:

Turister, om ni vill se det dolda innehållet i detta inlägg, snällaSvar





Föregående:Hjälp med Windows-registerkorruption
Nästa:VS 2019 använder svcutil.exe verktyg för att generera anropsfilen
Publicerad på 2020-09-15 16:26:41 |
Lär dig det
Publicerad på 2021-05-11 13:58:38 |
Det finns en källkodschef
Publicerad på 2021-06-18 15:07:44 |
Bara för att se
Publicerad på 2021-06-18 15:08:38 |
Koden kan inte ses
Publicerad på 2021-06-28 10:58:22 |
Jag har inte kunnat få några resultat, vad händer?
Publicerad på 2021-07-04 10:21:09 |
Kom tillbaka och lär dig av gudarna, tack för att du delade med dig
Publicerad på 2022-08-03 15:36:10 |
Samma behov, kom och lär dig
Publicerad på 2022-12-02 01:17:10 |
Lär dig av gudarna
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com