Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 63675|Vastaus: 8

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

[Kopioi linkki]
Julkaistu 19.7.2020 22.18.08 | | | |
Kun kehitetään uutta projektia, jossa käytetään asp.net ydinteknologiaa, vanha projekti voi olla WCF-palvelu, joka on kehitetty .NET Framework 4:llä, koska uudelleenrakennuskustannukset ovat liian korkeat, asp.net on käytettävä WCF-palvelurajapinnan kutsumiseen.

Luo ensin kaksi uutta projektia:

ASP.NET Core 3.1 -projekti: dotnet-core-call-wcf
.NET Framework 4 -projekti (WCF-palvelusovellus): koulut-wcf-palvelu

Visual Studio 2019 haluaa luoda WCF-palvelun, mutta ei löydä mallipohjaa, ratkaisua:

Valitse Asenna lisää työkaluja ja ominaisuuksia avataksesi Visual Studio -asennusohjelman. Valitse Yksittäiset komponentit -välilehti, selaa alas Kehitystoiminnot, valitse Windows Communication Foundation ja klikkaa Muokkaa.


WCF luo kaksi rajapintaa seuraavasti:

Rajapinnan toteutuskoodi on seuraava:


Palvelusopimus on kokoelma toisiinsa liittyviä palveluoperaatioita, ja kun sovellamme ServiceContractAttributen rajapinnalle, annamme sille palvelusopimuksen attribuutin. Tällaisessa tyypissä sen idiomi ei kuitenkaan automaattisesti muutu sopimuspalveluoperaatioksi, ja vasta kun OperationContractAttribute-ominaisuutta käytetään, vastaava metodijäsen voi muuttua palveluoperaatioksi, johon pääsee käsiksi palvelukutsulla.

Kun aloitat wcf-projektin, se suorittaa automaattisesti WcfTestClientin ja yrittää kutsua sitä alla olevassa kuvassa esitettyjen mukaisesti:



Käytä ASP.NET Core -projekteja soittaaksesi WCF-palveluille

Napsauta hiiren oikealla Connected Services, valitse haluamasi palvelu ja valitse WCF-palvelu, kuten seuraavassa kuvassa näkyy:



Palveluosoite täytetty: http://localhost:3705/Service1.svc

Mahdolliset virheet:

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

Koska WCF-palveluosoitteen kirjoittaminen kuoliaaksi, lisää seuraava koodi appsettings.json-tiedostoon:

Muokkaa Startup.cs-tiedostoa ja rekisteröi WCF-palvelu seuraavalla koodilla:

Kutsu WCF-palvelu HomeController-ohjaimella, ensimmäinen konstruktorien injektio, koodi on seuraava:

Soitan WCF-palveluun:

Käytä asp.net Core -sivustoa, vaikutus on alla esitetty:



Yritämme muokata WCF-palvelua niin, että liitäntä palauttaa tuloksen 3 minuutin kuluttua, ja käynnistämme sitten asp.net ytimen uudelleen kutsuaksemme WCF-palvelun, ja virhe on seuraava:

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

Tällä hetkellä meidän täytyy muokata oletusaikakatkaisua, räätälöidä BasicHttpBinding-sidonta ja muokata Startup.cs-tiedostoa uudelleen seuraavasti:



Lähdekoodin lataus:

Turistit, jos haluatte nähdä tämän postauksen piilotetun sisällön, olkaa hyväVastaus





Edellinen:Apua Windows-rekisterin korruptioon
Seuraava:VS 2019 käyttää svcutil.exe työkaluja kutsutiedoston tuottamiseen
Julkaistu 15.9.2020 16.26.41 |
Opettele se
Julkaistu 11.5.2021 13.58.38 |
Lähdekoodipomo on olemassa
Julkaistu 18.6.2021 15.07.44 |
Vain nähdäkseni
Julkaistu 18.6.2021 15.08.38 |
Koodia ei voi tarkastella
Julkaistu 28.6.2021 10.58.22 |
En ole saanut tuloksia, mitä tapahtuu?
Julkaistu 4.7.2021 10.21.09 |
Tule takaisin oppimaan jumalilta, kiitos kun jaoit
Julkaistu 3.8.2022 15.36.10 |
Samat tarpeet, tule ja opi
Julkaistu 2.12.2022 1.17.10 |
Opi jumalilta
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com