Öğretici: Windows Communication Foundation hizmet sözleşmesi tanımlama
Bu öğreticide, temel bir Windows Communication Foundation (WCF) uygulaması oluşturmak için gereken beş görevden ilki açıklanmaktadır. Öğreticilere genel bakış için bkz . Öğretici: Windows Communication Foundation uygulamalarını kullanmaya başlama.
BIR WCF hizmeti oluşturduğunuzda, ilk göreviniz bir hizmet sözleşmesi tanımlamaktır. Hizmet sözleşmesi, hizmetin hangi işlemleri desteklediğini belirtir. Bir işlem bir Web hizmeti yöntemi olarak düşünülebilir. C# veya Visual Basic arabirimi tanımlayarak hizmet sözleşmeleri oluşturursunuz. Arabirim aşağıdaki özelliklere sahiptir:
- Arabirimdeki her yöntem belirli bir hizmet işlemine karşılık gelir.
- Her arabirim için özniteliğini ServiceContractAttribute uygulamanız gerekir.
- Her işlem/yöntem için özniteliğini OperationContractAttribute uygulamanız gerekir.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- WCF Hizmet Kitaplığı projesi oluşturun.
- Bir hizmet sözleşmesi arabirimi tanımlayın.
WCF Hizmet Kitaplığı projesi oluşturma ve hizmet sözleşmesi arabirimi tanımlama
Visual Studio'yu yönetici olarak açın. Bunu yapmak için Başlat menüsünde Visual Studio programını seçin ve ardından kısayol menüsünden Diğer>Yönetici olarak çalıştır'ı seçin.
WCF Hizmet Kitaplığı projesi oluşturun.
Dosya menüsünden Yeni Proje'yi> seçin.
Yeni Proje iletişim kutusunda, sol taraftaki Visual C# veya Visual Basic'i genişletin ve WCF kategorisini seçin. Visual Studio, pencerenin orta bölümünde proje şablonlarının listesini görüntüler. WCF Hizmet Kitaplığı'nı seçin.
Not
WCF proje şablonu kategorisini görmüyorsanız, Visual Studio'nun Windows Communication Foundation bileşenini yüklemeniz gerekebilir. Yeni Proje iletişim kutusunda sol taraftaki Visual Studio Yükleyicisi aç bağlantısını seçin. Tek tek bileşenler sekmesini seçin ve ardından Geliştirme etkinlikleri kategorisinin altında Windows Communication Foundation'ı bulun ve seçin. Bileşeni yüklemeye başlamak için Değiştir'i seçin.
Pencerenin alt bölümüne Ad için GettingStartedLib, Çözüm adı için ise GettingStarted girin.
Tamam'ı seçin.
Visual Studio, üç dosya içeren projeyi oluşturur: IService1.cs (veya Visual Basic projesi için IService1.vb), Service1.cs (veya Visual Basic projesi için Service1.vb) ve App.config. Visual Studio bu dosyaları aşağıdaki gibi tanımlar:
- IService1 dosyası, hizmet sözleşmesinin varsayılan tanımını içerir.
- Service1 dosyası, hizmet sözleşmesinin varsayılan uygulamasını içerir.
- App.config dosyası, Visual Studio WCF Hizmeti Ana Bilgisayarı aracıyla varsayılan hizmeti yüklemek için gereken yapılandırma bilgilerini içerir. WCF Hizmet Konağı aracı hakkında daha fazla bilgi için bkz . WCF Hizmet Konağı (WcfSvcHost.exe).
Not
Visual Studio'yu Visual Basic geliştirici ortamı ayarlarıyla yüklediyseniz, çözüm gizlenmiş olabilir. Bu durumda, Araçlar menüsünde Seçenekler'ive ardından Seçenekler penceresinde Projeler ve Çözümler>Genel'i seçin. Çözümü her zaman göster'i seçin. Ayrıca, Oluşturulduğunda yeni projeleri kaydet'in seçili olduğunu doğrulayın.
Çözüm Gezgini IService1.cs veya IService1.vb dosyasını açın ve kodunu aşağıdaki kodla değiştirin:
using System; using System.ServiceModel; namespace GettingStartedLib { [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")] public interface ICalculator { [OperationContract] double Add(double n1, double n2); [OperationContract] double Subtract(double n1, double n2); [OperationContract] double Multiply(double n1, double n2); [OperationContract] double Divide(double n1, double n2); } }
Imports System.ServiceModel Namespace GettingStartedLib <ServiceContract(Namespace:="http://Microsoft.ServiceModel.Samples")> _ Public Interface ICalculator <OperationContract()> _ Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double <OperationContract()> _ Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double <OperationContract()> _ Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double <OperationContract()> _ Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double End Interface End Namespace
Bu sözleşme bir çevrimiçi hesaplayıcı tanımlar. Arabirimin
ICalculator
özniteliğiyle işaretlendiğinden ServiceContractAttribute (olarakServiceContract
basitleştirilmiş) dikkat edin. Bu öznitelik, sözleşme adını belirsizleştirmeye yönelik bir ad alanı tanımlar. Kod, her hesap makinesi işlemini özniteliğiyle OperationContractAttribute işaretler (olarak basitleştirilmiştirOperationContract
).
Sonraki adımlar
Bu öğreticide, şunların nasıl yapıldığını öğrendiniz:
- WCF Hizmet Kitaplığı projesi oluşturun.
- Bir hizmet sözleşmesi arabirimi tanımlayın.
WCF hizmet sözleşmesinin nasıl uygulanacağınızı öğrenmek için sonraki öğreticiye geçin.