Delen via


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

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:

  1. 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
    
  2. Maak als volgt een nieuw C#-webproject in die map met behulp van de dotnet new opdracht:

    dotnet new web
    
  3. Installeer het dotnet-svcutil NuGet-pakket als een CLI-hulpprogramma:

    dotnet tool install --global dotnet-svcutil
    
  4. 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

  1. Herstel de WCF-pakketten als volgt met behulp van de dotnet restore opdracht:

    dotnet restore
    
  2. Zoek de naam van de clientklasse en bewerking die u wilt gebruiken. Reference.cs bevat een klasse die overneemt van System.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 methode HelloAsync die kan worden gebruikt om de bewerking aan te roepen.

  3. Open het Startup.cs bestand in uw editor en voeg bovenaan een using instructie toe voor de servicereferentieruimte:

    using ServiceReference;
    
  4. Bewerk de Configure methode om de webservice aan te roepen. U doet dit door een exemplaar te maken van de klasse die de ClientBase 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);
        });
    }
    
    
  5. Voer de toepassing als volgt uit met behulp van de dotnet run opdracht:

    dotnet run
    
  6. 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.

Gegevens