WCF dotnet-svcutil-hulpprogramma voor .NET Core
Het hulpprogramma Windows Communication Foundation (WCF) dotnet-svcutil is een .NET-hulpprogramma dat metagegevens ophaalt uit een webservice op een netwerklocatie of uit een WSDL-bestand en een WCF-klasse genereert die clientproxymethoden bevat die toegang hebben tot de webservicebewerkingen.
Net als het servicemodelmetagegevens - svcutil-hulpprogramma voor .NET Framework-projecten is dotnet-svcutil een opdrachtregelprogramma voor het genereren van een webserviceverwijzing die compatibel is met .NET Core- en .NET Standard-projecten.
Het hulpprogramma dotnet-svcutil is een alternatieve optie voor de wcF-webserviceverwijzing visual studio verbonden serviceprovider die voor het eerst is verzonden met Visual Studio 2017 versie 15.5. Het hulpprogramma dotnet-svcutil als .NET-hulpprogramma is beschikbaar op meerdere platforms in Linux, macOS en Windows.
Belangrijk
U moet alleen verwijzen naar services van een vertrouwde bron. Als u verwijzingen van een niet-vertrouwde bron toevoegt, kan de beveiliging worden aangetast.
Vereisten
- .NET Core 2.1 SDK of latere versies
- Uw favoriete code-editor
Aan de slag
In het volgende voorbeeld wordt u begeleid bij de stappen die nodig zijn om een webservicereferentie toe te voegen aan een .NET Core-webproject en de service aan te roepen. U maakt een .NET Core-webtoepassing met de naam HelloSvcutil en voegt een verwijzing toe naar een webservice die het volgende contract implementeert:
[ServiceContract]
public interface ISayHello
{
[OperationContract]
string Hello(string name);
}
In dit voorbeeld gaan we ervan uit dat de webservice wordt gehost op het volgende adres: http://contoso.com/SayHello.svc
Voer in een Windows-, macOS- of Linux-opdrachtvenster de volgende stappen uit:
Maak een map met de naam HelloSvcutil voor uw project en maak deze uw huidige map, zoals in het volgende voorbeeld:
mkdir HelloSvcutil cd HelloSvcutil
Maak als volgt een nieuw C#-webproject in die map met behulp van de
dotnet new
opdracht:dotnet new web
Installeer het
dotnet-svcutil
NuGet-pakket als een CLI-hulpprogramma:dotnet tool install --global dotnet-svcutil
Voer de opdracht dotnet-svcutil uit om het referentiebestand voor de webservice als volgt te genereren:
dotnet-svcutil http://contoso.com/SayHello.svc
Het gegenereerde bestand wordt opgeslagen als HelloSvcutil/ServiceReference/Reference.cs. Het hulpprogramma dotnet-svcutil voegt ook toe aan het project de juiste WCF-pakketten die vereist zijn voor de proxycode als pakketverwijzingen.
De servicereferentie gebruiken
Herstel de WCF-pakketten als volgt met behulp van de
dotnet restore
opdracht:dotnet restore
Zoek de naam van de clientklasse en bewerking die u wilt gebruiken.
Reference.cs
bevat een klasse die overneemt vanSystem.ServiceModel.ClientBase
, met methoden die kunnen worden gebruikt om bewerkingen op de service aan te roepen. In dit voorbeeld wilt u de Hello-bewerking van de SayHello-service aanroepen.ServiceReference.SayHelloClient
is de naam van de clientklasse en heeft een methodeHelloAsync
die kan worden gebruikt om de bewerking aan te roepen.Open het
Startup.cs
bestand in uw editor en voeg bovenaan eenusing
instructie toe voor de servicereferentieruimte:using ServiceReference;
Bewerk de
Configure
methode om de webservice aan te roepen. U doet dit door een exemplaar te maken van de klasse die deClientBase
methode over neemt en aanroept op het clientobject:public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.Run(async (context) => { var client = new SayHelloClient(); var response = await client.HelloAsync(); await context.Response.WriteAsync(response); }); }
Voer de toepassing als volgt uit met behulp van de
dotnet run
opdracht:dotnet run
Navigeer naar de URL die wordt vermeld in de console (bijvoorbeeld
http://localhost:5000
) in uw webbrowser.
U ziet nu de volgende uitvoer: 'Hello dotnet-svcutil!'
Voor een gedetailleerde beschrijving van de dotnet-svcutil
hulpprogrammaparameters roept u het hulpprogramma aan dat de Help-parameter als volgt doorgeeft:
dotnet-svcutil --help
Feedback en vragen
Als u vragen of feedback hebt, opent u een probleem op GitHub. U kunt ook eventuele bestaande vragen of problemen bekijken in de WCF-opslagplaats op GitHub.
Opmerkingen bij de release
- Raadpleeg de releaseopmerkingen voor bijgewerkte release-informatie, inclusief bekende problemen.