Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 63675|Antwort: 8

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

[Link kopieren]
Veröffentlicht am 19.07.2020 22:18:08 | | | |
Bei der Entwicklung eines neuen Projekts mit asp.net Kerntechnologie kann das alte Projekt ein WCF-Dienst sein, der mit dem .NET Framework 4 entwickelt wurde; da die Rekonstruktionskosten zu hoch sind, ist es notwendig, asp.net Kern zu verwenden, um die WCF-Service-Schnittstelle aufzurufen.

Zuerst erstelle zwei neue Projekte:

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

Visual Studio 2019 möchte einen WCF-Dienst erstellen, findet aber keine Vorlage, Lösung:

Wählen Sie "Installieren von weiteren Werkzeugen und Funktionen", um den Visual Studio Installer zu öffnen. Wählen Sie den Reiter Einzelne Komponenten aus, scrollen Sie nach unten zu Entwicklungsaktivitäten, wählen Sie Windows Communication Foundation und klicken Sie auf Anpassen.


WCF erstellt zwei Schnittstellen wie folgt:

Der Implementierungscode der Schnittstelle ist wie folgt:


Ein Servicevertrag ist eine Sammlung verwandter Serviceoperationen, und wenn wir ein ServiceContractAttribute auf eine Schnittstelle anwenden, geben wir ihr ein Servicevertragsattribut. Für einen solchen Typ wird sein Idiom jedoch nicht automatisch zu einer vertraglichen Serviceoperation, und erst wenn die Feature-OperationContractAttribute angewendet wird, kann das entsprechende Methodenmitglied zu einer Serviceoperation werden, die per Serviceaufruf zugänglich ist.

Wenn du das wcf-Projekt startest, wird WcfTestClient automatisch ausgeführt und versucht, es wie in der untenstehenden Abbildung gezeigt aufzurufen:



Nutzen Sie ASP.NET Kernprojekte, um WCF-Dienste anzurufen

Rechtsklick auf Connected Services, wähle den Dienst aus, zu dem du eine Verbindung hinzufügen möchtest, und wähle WCF-Service, wie im folgenden Bild gezeigt:



Ausgefüllte Serviceadresse: http://localhost:3705/Service1.svc

Mögliche Fehler:

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

Da es unmöglich ist, die WCF-Serviceadresse zu Tode zu schreiben, fügen Sie folgenden Code zur appsettings.json-Datei hinzu:

Bearbeiten Sie die Startup.cs-Datei und registrieren Sie den WCF-Dienst mit folgendem Code:

Rufen Sie den WCF-Dienst auf dem HomeController-Controller auf, erste Konstruktor-Injektion, der Code lautet wie folgt:

Anruf des WCF-Dienstes:

Betreibt die asp.net Core-Website, der Effekt ist wie folgt dargestellt:



Wir versuchen, den WCF-Dienst so zu modifizieren, dass die Schnittstelle nach 3 Minuten das Ergebnis zurückgibt, und starten dann asp.net Core neu, um den WCF-Dienst aufzurufen, und der Fehler lautet wie folgt:

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

Zu diesem Zeitpunkt müssen wir die Standard-Timeout ändern, die BasicHttpBinding-Bindung anpassen und die Startup.cs-Datei wie folgt neu bearbeiten:



Quellcode-Download:

Touristen, wenn ihr den versteckten Inhalt dieses Beitrags sehen wollt, bitteAntwort





Vorhergehend:Hilfe bei Windows-Registrierungskorruption
Nächster:VS 2019 verwendet svcutil.exe Werkzeuge, um die Aufrufdatei zu generieren
Veröffentlicht am 15.09.2020 16:26:41 |
Lerne es
Veröffentlicht am 11.05.2021 13:58:38 |
Es gibt einen Quellcode-Chef
Veröffentlicht am 18.06.2021 15:07:44 |
Nur um zu sehen
Veröffentlicht am 18.06.2021 15:08:38 |
Der Code kann nicht angezeigt werden
Veröffentlicht am 28.06.2021 10:58:22 |
Ich konnte keine Ergebnisse erzielen, was ist hier los?
Veröffentlicht am 04.07.2021 10:21:09 |
Komm zurück, um von den Göttern zu lernen, danke fürs Teilen
Veröffentlicht am 03.08.2022 15:36:10 |
Die gleichen Bedürfnisse, komm und lern
Veröffentlicht am 02.12.2022 01:17:10 |
Lerne von den Göttern
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com