Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 63675|Odpověď: 8

[.NET Core] ASP.NET Core 3.1 Volání .NET 4.0 WCF Services tutoriál

[Kopírovat odkaz]
Zveřejněno 19.07.2020 22:18:08 | | | |
Při vývoji nového projektu s využitím asp.net základní technologie může být starý projekt WCF službou vyvinutou pomocí .NET Framework 4, protože náklady na rekonstrukci jsou příliš vysoké, je nutné použít asp.net jádro k volání rozhraní služby WCF.

Nejprve vytvořte dva nové projekty:

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

Visual Studio 2019 chce vytvořit WCF službu, nemohu najít šablonu, řešení:

Vyberte Nainstalovat více nástrojů a funkcí pro otevření instalátoru Visual Studia. Vyberte záložku Jednotlivé komponenty, sjeďte dolů na Vývojové aktivity, vyberte Windows Communication Foundation a klikněte na Upravit.


WCF vytváří dvě rozhraní následovně:

Kód implementace rozhraní je následující:


Servisní smlouva je soubor souvisejících servisních operací a když aplikujeme ServiceContractAttribute na rozhraní, přidělíme mu atribut servisní smlouvy. Nicméně u takového typu se jeho idiom automaticky nestává smluvní servisní operací a teprve při aplikaci funkce OperationContractAttribute se příslušný člen metody může stát servisní operací, ke které lze přistupovat servisním voláním.

Když spustíte projekt WCF, automaticky spustí WcfTestClient a pokusí se ho zavolat, jak je znázorněno na obrázku níže:



Použijte ASP.NET Core projekty k volání služeb WCF

Klikněte pravým tlačítkem na Connected Services, vyberte službu, ke které chcete přidat připojení, a vyberte službu WCF, jak je znázorněno na následujícím obrázku:



Adresa služby vyplněna: http://localhost:3705/Service1.svc

Možné chyby:

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

Protože není možné zapsat adresu WCF služby do smrti, přidejte do appsettings.json souboru následující kód:

Upravte soubor Startup.cs a zaregistrujte službu WCF s následujícím kódem:

Zavolejte službu wcf na řadiči HomeController, první injekce konstruktoru, kód je následující:

Volání na službu WCF:

Provozujte web asp.net Core, efekt je zobrazen níže:



Snažíme se upravit službu WCF tak, aby rozhraní vrátilo výsledek po 3 minutách, a poté restartujeme asp.net jádro pro volání služby WCF a chyba je následující:

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

V tuto chvíli musíme upravit výchozí časový limit, přizpůsobit vazbu BasicHttpBinding a znovu upravit Startup.cs soubor, a to následovně:



Stažení zdrojového kódu:

Turisté, pokud chcete vidět skrytý obsah tohoto příspěvku, prosímOdpověď





Předchozí:Pomoc s poškozením registru Windows
Další:VS 2019 používá svcutil.exe nástroje k generování volacího souboru
Zveřejněno 15.09.2020 16:26:41 |
Nauč se to
Zveřejněno 11.05.2021 13:58:38 |
Existuje šéf zdrojového kódu
Zveřejněno 18.06.2021 15:07:44 |
Jen abych viděl
Zveřejněno 18.06.2021 15:08:38 |
Kód nelze zobrazit
Zveřejněno 28.06.2021 10:58:22 |
Nepodařilo se mi získat žádné výsledky, co se děje?
Zveřejněno 04.07.2021 10:21:09 |
Vraťte se a učte se od bohů, děkuji, že jste se podělili
Zveřejněno 03.08.2022 15:36:10 |
Stejné potřeby, přijďte se učit.
Zveřejněno 02.12.2022 1:17:10 |
Uč se od bohů
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com