Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 63675|Atsakyti: 8

[.NET branduolys] ASP.NET Core 3.1 Calling .NET 4.0 WCF Services mokymo programa

[Kopijuoti nuorodą]
Paskelbta 2020-07-19 22:18:08 | | | |
Kuriant naują projektą, naudojant asp.net pagrindinę technologiją, senasis projektas gali būti WCF paslauga, sukurta naudojant .NET Framework 4, nes rekonstrukcijos kaina yra per didelė, norint iškviesti WCF paslaugos sąsają, būtina naudoti asp.net branduolį.

Pirmiausia sukurkite naujus du projektus:

ASP.NET Core 3.1 projektas: dotnet-core-call-wcf
.NET Framework 4 projektas (WCF paslaugos programa): schools-wcf-service

"Visual Studio 2019" nori sukurti WCF paslaugą, neranda šablono, sprendimas:

Pasirinkite Įdiegti daugiau įrankių ir funkcijų, kad atidarytumėte "Visual Studio" diegimo programą. Pasirinkite skirtuką Atskiri komponentai, slinkite žemyn iki Kūrimo veiklos, pasirinkite Windows Communication Foundation ir spustelėkite Modifikuoti.


WCF sukuria dvi sąsajas taip:

Sąsajos diegimo kodas yra toks:


Aptarnavimo sutartis yra susijusių aptarnavimo operacijų rinkinys, o kai sąsajai taikome ServiceContractAttribute, suteikiame jam aptarnavimo sutarties atributą. Tačiau tokio tipo idioma automatiškai netampa sutartine paslaugos operacija ir tik pritaikius funkciją OperationContractAttribute atitinkamas metodo narys gali tapti aptarnavimo operacija, kurią galima pasiekti iškviečiant tarnybą.

Kai paleisite wcf projektą, jis automatiškai paleis WcfTestClient ir bandys jį iškviesti, kaip parodyta paveikslėlyje žemiau:



Naudokite ASP.NET pagrindinius projektus WCF tarnyboms iškviesti

Dešiniuoju pelės mygtuku spustelėkite Prijungtos tarnybos, pasirinkite tarnybą, prie kurios norite įtraukti ryšį, ir pasirinkite WCF tarnyba, kaip parodyta šiame paveikslėlyje:



Užpildytas aptarnavimo adresas: http://localhost:3705/Service1.svc

Galimos klaidos:

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

Kadangi neįmanoma parašyti WCF paslaugos adreso iki mirties, pridėkite šį kodą į appsettings.json failą:

Redaguokite Startup.cs failą ir užregistruokite WCF paslaugą naudodami šį kodą:

Skambinkite į wcf tarnybą "HomeController" valdiklyje, pirmasis konstruktoriaus įpurškimas, kodas yra toks:

Skambinimas į WCF tarnybą:

Paleiskite asp.net Core svetainę, poveikis yra toks, kaip parodyta toliau:



Mes bandome modifikuoti WCF paslaugą taip, kad sąsaja grąžintų rezultatą po 3 minučių, tada iš naujo paleiskite asp.net branduolį, kad iškviestumėte WCF paslaugą, o klaida yra tokia:

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

Šiuo metu turime pakeisti numatytąjį skirtąjį laiką, tinkinti BasicHttpBinding susiejimą ir iš naujo redaguoti Startup.cs failą taip:



Šaltinio kodo atsisiuntimas:

Turistai, jei norite pamatyti paslėptą šio įrašo turinį, prašomeAtsakyti





Ankstesnis:Pagalba dėl "Windows" registro sugadinimo
Kitą:VS 2019 naudoja svcutil.exe įrankius skambučio failui generuoti
Paskelbta 2020-09-15 16:26:41 |
Išmokite
Paskelbta 2021-05-11 13:58:38 |
Yra šaltinio kodo bosas
Paskelbta 2021-06-18 15:07:44 |
Tiesiog pamatyti
Paskelbta 2021-06-18 15:08:38 |
Kodo peržiūrėti neįmanoma
Paskelbta 2021-06-28 10:58:22 |
Man nepavyko gauti jokių rezultatų, kas vyksta?
Paskelbta 2021-07-04 10:21:09 |
Grįžkite mokytis iš dievų, ačiū, kad dalijatės
Paskelbta 2022-08-03 15:36:10 |
Tie patys poreikiai, ateikite ir mokykitės
Paskelbta 2022-12-02 01:17:10 |
Mokykitės iš dievų
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com