Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 63675|Risposta: 8

[.NET Core] ASP.NET Core 3.1 Tutorial per chiamare i servizi WCF di .NET 4.0

[Copiato link]
Pubblicato su 19/07/2020 22:18:08 | | | |
Quando si sviluppa un nuovo progetto, utilizzando asp.net tecnologia core, il vecchio progetto può essere un servizio WCF sviluppato usando .NET Framework 4, poiché il costo di ricostruzione è troppo alto, quindi è necessario utilizzare asp.net core per chiamare l'interfaccia di servizio WCF.

Per prima cosa, crea due nuovi progetti:

ASP.NET progetto Core 3.1: dotnet-core-call-wcf
Progetto .NET Framework 4 (applicazione di servizio WCF): schools-wcf-service

Visual Studio 2019 vuole creare un servizio WCF, non riesco a trovare il template, soluzione:

Seleziona Installa altri strumenti e funzionalità per aprire Visual Studio Installer. Seleziona la scheda Componenti Individuali, scorri fino a Attività di Sviluppo, seleziona Windows Communication Foundation e clicca su Modifica.


WCF crea due interfacce come segue:

Il codice di implementazione dell'interfaccia è il seguente:


Un contratto di servizio è una raccolta di operazioni di servizio correlate e, quando applichiamo un ServiceContractAttribute su un'interfaccia, gli attribuiamo un attributo di contratto di servizio. Tuttavia, per tale tipo, il suo idioma non diventa automaticamente un'operazione di servizio contrattuale, e solo quando viene applicata la funzione OperationContractAttribute può il corrispondente membro del metodo diventare un'operazione di servizio accessibile tramite chiamata di servizio.

Quando avvii il progetto wcf, eseguirà automaticamente WcfTestClient e cercherà di chiamarlo come mostrato nella figura qui sotto:



Usa ASP.NET progetti Core per chiamare i servizi WCF

Clicca con il tasto destro su Servizi Connessi, seleziona il servizio a cui vuoi aggiungere una connessione e seleziona il servizio WCF, come mostrato nell'immagine seguente:



Indirizzo di servizio coperto: http://localhost:3705/Service1.svc

Possibili errori:

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

Poiché è impossibile scrivere l'indirizzo di servizio WCF fino alla morte, aggiungere il seguente codice al file appsettings.json:

Modifica il file Startup.cs e registra il servizio WCF con il seguente codice:

Chiama il servizio wcf sul controller HomeController, prima iniezione del costruttore, il codice è il seguente:

Chiamare il servizio WCF:

Gestisci il sito asp.net Core, l'effetto è il seguente:



Cerchiamo di modificare il servizio WCF in modo che l'interfaccia restituisca il risultato dopo 3 minuti, poi riavviiamo asp.net core per chiamare il servizio WCF, e l'errore è il seguente:

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

Al momento, dobbiamo modificare il timeout predefinito, personalizzare il binding BasicHttpBinding e ri-modificare il file Startup.cs, come segue:



Scarica codice sorgente:

Turisti, se volete vedere il contenuto nascosto di questo post, vi pregoRisposta





Precedente:Aiuto con la corruzione del registro di Windows
Prossimo:VS 2019 utilizza svcutil.exe strumenti per generare il file di chiamata
Pubblicato su 15/09/2020 16:26:41 |
Imparalo
Pubblicato su 11/05/2021 13:58:38 |
C'è un boss del codice sorgente
Pubblicato su 18/06/2021 15:07:44 |
Solo per vedere
Pubblicato su 18/06/2021 15:08:38 |
Il codice non può essere visualizzato
Pubblicato su 28/06/2021 10:58:22 |
Non sono riuscito a ottenere risultati, cosa sta succedendo?
Pubblicato su 04/07/2021 10:21:09 |
Torna a imparare dagli dèi, grazie per aver condiviso
Pubblicato su 03/08/2022 15:36:10 |
Stessi bisogni, vieni a imparare
Pubblicato su 02/12/2022 01:17:10 |
Impara dagli dei
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com