Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows Communication Foundation (WCF) dotnet-svcutil aracı, ağ konumundaki bir web hizmetinden veya WSDL dosyasından meta verileri alan ve web hizmeti işlemlerine erişen istemci proxy yöntemlerini içeren bir WCF sınıfı oluşturan bir .NET aracıdır.
.NET Framework projeleri için Hizmet Modeli Meta Verileri - svcutil aracına benzer şekilde dotnet-svcutil , .NET projeleriyle uyumlu bir web hizmeti başvurusu oluşturmaya yönelik bir komut satırı aracıdır.
dotnet-svcutil aracı, WCF Web Hizmeti Başvurusu Visual Studio bağlı hizmet sağlayıcısına alternatif bir seçenektir. .NET aracı olarak dotnet-svcutil aracı Linux, macOS ve Windows üzerinde platformlar arası kullanılabilir.
Önemli
Yalnızca güvenilen bir kaynaktan gelen hizmetlere başvurmanız gerekir. Güvenilmeyen bir kaynaktan başvuru eklemek güvenliği tehlikeye atabilir.
Önkoşullar
- En yeni .NET SDK
- Sık kullandığınız kod düzenleyicisi
Başlangıç Yapmak
Aşağıdaki örnek, .NET web projesine web hizmeti başvurusu eklemek ve hizmeti çağırmak için gereken adımlarda size yol gösterir. HelloSvcutil adlı bir .NET web uygulaması oluşturacak ve aşağıdaki sözleşmeyi uygulayan bir web hizmetine başvuru ekleyeceksiniz:
[ServiceContract]
public interface ISayHello
{
[OperationContract]
string Hello(string name);
}
Bu örnekte web hizmetinin şu adreste barındırılacağını varsayalım: http://contoso.com/SayHello.svc
Windows, macOS veya Linux komut penceresinde aşağıdaki adımları gerçekleştirin:
Projeniz için HelloSvcutil adlı bir dizin oluşturun ve aşağıdaki örnekte olduğu gibi geçerli dizininiz yapın:
mkdir HelloSvcutil cd HelloSvcutilAşağıdaki komutu kullanarak
dotnet newbu dizinde yeni bir C# web projesi oluşturun:dotnet new webdotnet-svcutilNuGet paketini CLI aracı olarak yükleyin:dotnet tool install --global dotnet-svcutilaşağıdaki gibi web hizmeti başvuru dosyasını oluşturmak için dotnet-svcutil komutunu çalıştırın:
dotnet-svcutil http://contoso.com/SayHello.svc
Oluşturulan dosya HelloSvcutil/ServiceReference/Reference.cs olarak kaydedilir. dotnet-svcutil aracı ayrıca projeye proxy kodu için gerekli uygun WCF paketlerini paket başvurusu olarak ekler.
Hizmet referansını kullanma
Aşağıdaki komutu kullanarak
dotnet restoreWCF paketlerini geri yükleyin:dotnet restoreKullanmak istediğiniz istemci sınıfının ve işlemin adını bulun.
Reference.csbir sınıf içerecek ve sınıf,System.ServiceModel.ClientBasesınıfından devralacaktır; hizmetteki işlemleri çağırmak için kullanılabilecek yöntemlere sahip olacaktır. Bu örnekte SayHello hizmetinin Hello işlemini çağırmak istiyorsunuz.ServiceReference.SayHelloClient, istemci sınıfının adıdır ve işlemi çağırmak için kullanılabilecek adlıHelloAsyncbir yöntemi vardır.Startup.csDosyayı düzenleyicinizde açın ve en üstteki hizmet başvurusu ad alanı için birusingyönerge ekleyin:using ServiceReference;Web hizmetini çağırmak için
Configureyöntemini düzenleyin. Bunu,ClientBaseöğesinden devralan bir sınıf örneği oluşturarak ve istemci nesnesi üzerinde yöntemi çağırarak yaparsınız.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); }); }Aşağıdaki komutu kullanarak
dotnet runuygulamayı çalıştırın:dotnet runWeb tarayıcınızda konsolda listelenen URL'ye (örneğin,
http://localhost:5000) gidin.
Şu çıkışı görmeniz gerekir: "Hello dotnet-svcutil!"
Araç parametrelerinin dotnet-svcutil ayrıntılı açıklaması için, yardım parametresini geçirerek aracı aşağıdaki gibi çağırın:
dotnet-svcutil --help
Hizmet başvurusunu güncelleştirme
Web hizmeti değişirse, hizmet başvurusunu bu değişiklikleri yansıtacak şekilde güncelleştirebilirsiniz. seçeneği, -u oluşturulan kodu hizmet uç noktasından veya WSDL dosyasından alınan meta verileri temel alarak güncelleştirir.
Mevcut bir hizmet başvurusunu güncelleştirmek için:
dotnet-svcutil -u ./path/to/reference/folder
Başvuru klasörü, hizmet başvurusunu ilk eklediğinizde ConnectedService.json oluşturulan dosyayı içermelidir. Araç, hizmet uç noktasını belirlemek için bu yapılandırma dosyasını okur ve proxy kodunu güncelleştirilmiş meta verilerle yeniden oluşturur.
Geri bildirim ve sorular
Sorularınız veya geri bildirimleriniz varsa GitHub'da bir sorun açın. Ayrıca GitHub'daki WCF deposundaki mevcut soruları veya sorunları da gözden geçirebilirsiniz.
Sürüm notları
- Bilinen sorunlar da dahil olmak üzere güncelleştirilmiş sürüm bilgileri için Sürüm notlarına bakın.