Visual Studio'da Windows Communication Foundation Hizmetleri ve WCF Veri Hizmetleri
Visual Studio2008, Windows Communication Foundation (wcf) ile çalışmak için araçlar sağlar ve WCF Veri Hizmetleri, dağıtılmış uygulamalar oluşturmak için Microsoft teknolojileri.Bu konuda Hizmetleri'nden giriş sağlar bir Visual Studio perspektif.
wcf nedir?
Windows Communication Foundation (WCF)güvenli, güvenilir, işlenen ve birlikte çalışabilir dağıtılmış uygulamalar oluşturmak için bir birleşik çerçevedir.Önceki sürümlerinde Visual Studio, uygulamalar arasında iletişim kurmak için kullanılabilecek çeşitli teknolojilerin vardı.
Herhangi bir platformdan diğerine erişilmesi etkin bir şekilde bilgi paylaşmak istediğinizde, Web hizmetinin (asmx Web hizmeti olarak da bilinir) kullanırsınız.Yalnızca istemci ve Windows işletim sistemi üzerinde çalışan sunucu arasında veri taşımak istediğinizde kullanırsınız.net Remoting tanıtılacaktır.İşlem temelli iletişim isteseydiniz, Enterprise Services (dcom) kullanabilirsiniz veya kuyruğa atılmış bir modeli isteseydiniz, Message Queuing (msmq olarak da bilinir) kullanabilirsiniz.
wcf bu teknolojilerin birleştirilmiş bir programlama modeli altında işlevselliğinin bir araya getirir.Bu dağıtılmış uygulamaları geliştirme deneyimini basitleştirir.
wcf veri hizmetleri nelerdir
WCF Veri Hizmetleristandart http fiillerini kullanarak veri get, post, put dönmek için doğrudan veritabanı ile etkileşimli hizmetler veya SİLEBİLİRSİNİZ.Genel olarak, WCF Veri Hizmetleri oluşturmak için kullanılan uygulamaları güncelleştirmek veya veritabanındaki kayıtları silmek için iyi bir seçimdir.Daha fazla bilgi için bkz: ado.net Veri Hizmetleri çerçevesi.
wcf programlama modeli
wcf programlama modeli iki varlık arasında iletişime dayanır: wcf hizmeti ve bir wcf istemcisi.Programlama modeli içinde kapsüllenir System.ServiceModel ad .NET Framework.
wcf hizmeti
wcf hizmeti hizmeti ve istemci arasında bir sözleşme tanımlayan arabirim dayanır.İle işaretlenmiş bir ServiceContractAttribute özniteliği, aşağıdaki kodda gösterildiği gibi:
<ServiceContract()>
Public Interface IService1
[ServiceContract]
public interface IService1
<OperationContract()>
Function GetData(ByVal value As String) As String
[OperationContract]
string GetData(string value);
İşlevler veya onlarla işaretleyerek bir wcf servisinin kullandığı yöntemler tanımladığınız bir OperationContractAttribute özniteliği.Bileşik bir türü ile işaretlenerek seri hale getirilmiş verileri ayrıca getirebilir bir DataContractAttribute özniteliği.Bu, istemcinin veri bağlamayı sağlar.
Bir arabirim ve yöntemlerini tanımlanan sonra bunlar arabirimini uygulayan bir sınıf içinde kapsüllenir.Birden çok servis sözleşmelerinin tek bir wcf hizmeti sınıfı uygulayabilirsiniz.
wcf hizmeti aracılığıyla ne tüketim olarak bilinen için sergilenen bir son nokta.Bitiş noktası hizmeti ile iletişim kurmak için tek yol sağlar; ile diğer sınıflar gibi doğrudan başvuru hizmetine erişilemiyor.
Configure an endpoint, adres, bağlama ve sözleşme oluşur.Hizmetin bulunduğu adresi tanımlar; Bu url, bir ftp adresi veya ağ veya yerel yol olabilir.Bağlama hizmeti ile iletişim şeklini tanımlar.wcf bağları bir protokol olarak http veya ftp, Windows kimlik doğrulaması veya kullanıcı adları ve şifreler gibi bir güvenlik mekanizması belirtmek için çok yönlü bir model sağlar ve daha pek çoğu.Bir sözleşme wcf hizmeti sınıfı tarafından sergilenen işlemleri içerir.
Birden çok uç nokta için tek bir wcf hizmeti maruz kalabilir.Bu, farklı yöntemlerle aynı hizmeti ile iletişim kurmak farklı istemcileri etkinleştirir.Örneğin, bir bankacılık hizmeti bir uç nokta çalışanları ve başka dış müşteriler için her bağlama, farklı bir adrese kullanarak sağlamanız ve/veya sözleşme.
wcf istemcisi
wcf istemcisi oluşan bir proxy bir wcf hizmeti ile iletişim kurmak bir uygulamayı etkinleştirir ve eşleşen bir son nokta son nokta hizmeti için tanımlanan.Proxy istemci tarafında app.config dosyası oluşturulur ve türleri ve servisinin kullandığı yöntemler hakkında bilgi içerir.Birden çok uç nokta açığa çıkaran Hizmetleri istemci http üzerinden iletişim kurmak ve Windows kimlik doğrulaması kullanmak için kendi gereksinimlerine en iyi uyan birini seçebilirsiniz.
wcf istemcisi oluşturulduktan sonra başka bir nesne gibi kodunuzda hizmeti başvuru.Örneğin, arama için GetData , aşağıdakine benzer bir kod yazmak daha önce gösterilen yöntem:
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim client As New ServiceReference1.Service1Client
Dim returnString As String
returnString = client.GetData(TextBox1.Text)
Label1.Text = returnString
End Sub
private void button1_Click(System.Object sender, System.EventArgs e)
{
ServiceReference1.Service1Client client = new
ServiceReference1.Service1Client();
string returnString;
returnString = client.GetData(textBox1.Text);
label1.Text = returnString;
}
wcf araçlar Visual Studio
Visual Studio2008 wcf hizmetleri hem wcf istemcileri oluşturmanıza yardımcı olacak araçlar sağlar.Araçları gösterir bir izlenecek yol için bkz: İzlenecek Yol: WCF Hizmetleri Oluşturma ve Erişme.
Oluşturma ve sınama wcf hizmetleri
wcf kullanabilir Visual Studio hızla kendi hizmet oluşturmak için bir temel olarak şablonları.Sonra wcf hizmeti otomatik ana ve wcf istemcisi sınama servisini sınamak ve hata ayıklamak için kullanabilirsiniz.Bu araçları birlikte hızlı ve kolay hata ayıklama ve sınama döngüsü sağlar ve bir barındırma modeli için erken bir aşamada tamamlanması gereksinimini ortadan kaldırır.
wcf şablonları
wcf Visual Studio Şablonlar hizmeti geliştirmek için bir temel sınıf yapısı sağlar.Birden fazla wcf şablonları kullanılabilir Add New Project iletişim kutusu.Bunlar, wcf hizmeti Kütüphane projeleri, wcf hizmeti Web siteleri ve wcf servis maddesi şablonları içerir.
Bir şablon seçtiğinizde, hizmet sözleşmesi, hizmet uygulaması ve hizmet yapılandırması için dosyalar eklenir.Hizmet, basit bir "Hello World" türü oluşturma, gerekli tüm öznitelikler zaten eklenir ve herhangi bir kod yazmak değildi.Kuşkusuz, işlevleri ve yöntemleri, gerçek hizmet sağlamak üzere kod eklemek istediğiniz ancak temel yapısı şablonları sağlar.
wcf şablonları hakkında daha fazla bilgi için bkz: WCF Visual Studio Şablonları.
wcf hizmeti ana bilgisayarı
Başlattığınızda Visual Studio hata ayıklayıcı (F5 tuşuna basarak) bir wcf hizmeti projesi için wcf hizmeti Aracı hizmeti yerel olarak barındırmak için başlatılan otomatik olarak ana.wcf hizmeti ana bilgisayarı bir wcf hizmeti projesi Hizmetleri'nde numaralandırır, projenin yapılandırmayı yükler ve bulduğu her hizmet için bir ana başlatır.
wcf hizmeti ana bilgisayarı kullanarak fazladan kod yazma veya belirli bir ana bilgisayara geliştirilmesi sırasında yapılıyor olmadan bir wcf hizmeti sınayabilirsiniz.
wcf hizmeti ana bilgisayarı hakkında daha fazla bilgi için bkz: WCF Hizmet Ana Bilgisayarı (WcfSvcHost.exe).
wcf sınama istemci
wcf istemcisi Test aracı, wcf servisine giriş göndermek giriş test parametreleri sağlar ve hizmet geri gönderir Response'u görüntüleyin.Bunu, wcf hizmeti ana bilgisayarı ile birleştirdiğinizde deneyimi sınama uygun bir hizmet sağlar.
wcf hizmeti projesi hata ayıklamak için F5 tuşuna bastığınızda, wcf sınama istemci açar ve yapılandırma dosyasında tanımlanan hizmet bitiş noktası listesini görüntüler.Test parametreleri ve hizmeti başlatmak ve sürekli olarak test ve hizmetiniz doğrulamak için bu süreci tekrarlayın.
wcf sınama İstemcisi hakkında daha fazla bilgi için bkz: WCF Test İstemcisi (WcfTestClient.exe).
Visual Studio wcf hizmetlerine erişimi
Visual Studiootomatik olarak bir proxy ve kullanarak eklediğiniz hizmetler için bir bitiş noktası oluşturma, wcf istemcileri oluşturma görevini basitleştirir Add Reference hizmet iletişim kutusu.Tüm gerekli yapılandırma bilgilerini app.config dosyaya eklenir. Çoğu zaman tüm yapmanız gereken olduğu örneğini hizmeti kullanmak için.
Add Reference hizmet iletişim kutusu, bir hizmet için adresini girin veya çözüm içinde tanımlanan bir hizmet aramak için olanak sağlar.İletişim kutusu, Hizmetler ve bu hizmetleri tarafından sağlanan işlemler bir listesini döndürür.Ayrıca kod Hizmetleri'nde başvurular bulunacaksa ad tanımlamanızı sağlar.
Yapılandırma hizmeti başvuruları iletişim kutusu hizmet yapılandırmasını özelleştirmenize olanak sağlar.Hizmet adresi değiştirmek, erişim düzeyi, zaman uyumsuz davranış ve ileti sözleşme türlerini belirtin ve türünü yeniden yapılandırın.
Nasıl yapılır: hizmet bitiş noktası seçin
Bazı Windows Communication Foundation (wcf) hizmetlerini açığa çıkaran birden çok uç nokta bir istemci hizmeti ile iletişim.Örneğin, bir hizmet http bağlama ve kullanıcı adını kullanan bir uç nokta bırakabilecek / parola güvenliği ve ftp ve Windows kimlik doğrulaması kullanan ikinci bitiş noktası.Oysa ikinci bir intranet üzerinde kullanılabilir ilk bitiş noktasının hizmetinden, güvenlik duvarının dışından erişen uygulamalar tarafından kullanılabilir.
Böyle bir durumda, belirttiğiniz endpointConfigurationName hizmet başvurusu için yapıcı parametre olarak.
[!NOT]
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için, bkz. Visual Studio'da Geliştirme Ayarlarını özelleştirme.
Hizmet bitiş noktası seçmek için
wcf hizmeti başvurusu ekleyin.Daha fazla bilgi için bkz. Nasıl Yapılır: Hizmet Başvurusunu Güncelleme veya Kaldırma.
Kod Düzenleyicisi'nde, hizmet başvurusu için bir kurucu ekleyin:
Dim proxy As New ServiceReference.Service1Client(
ServiceReference.Service1Client proxy = new ServiceReference.Service1Client(
[!NOT]
Yerini ServiceReference ad hizmeti başvuru ve Değiştir ile Service1Client hizmet adı.
Aşırı kurucu için IntelliSense listesi görüntülenir.Seçin endpointConfigurationName As String tekrar.
Aşırı yazın = ConfigurationName, burada ConfigurationName kullanmak istediğiniz bitiş noktasının adıdır.
[!NOT]
Kullanılabilen bitiş noktalarının adlarını bilmiyorsanız app.config dosyasında bulabilirsiniz.
wcf hizmeti için kullanılabilir bitiş noktaları bulmak için
İçinde Solution Explorer, hizmet başvurusu içeren proje için app.config dosyasını sağ tıklatın ve sonra ' açık.Kod Düzenleyicisi'nde dosya görüntülenir.
Arama <Client> etiketi.
Altındaki arama <Client> başlayan etiket etiket <Endpoint>.
Hizmet başvurusu birden çok uç nokta sağlıyorsa, olacak iki veya daha fazla <Endpoint etiketler.
İçinde <EndPoint> etiketi göreceksiniz bir name="SomeService" parametre (burada SomeService bitiş noktası adını temsil eder).Bu ad için geçirilen son nokta için endpointConfigurationName As String hizmet başvurusu için bir kurucu aşırı.
Nasıl yapılır: zaman uyumsuz olarak hizmet yöntemini çağırmak
Pek çok yöntem Windows Communication Foundation (wcf) Hizmetleri, zaman uyumlu veya zaman uyumsuz olarak adlandırılabilir.Zaman uyumsuz bir yöntemin çağrılması, yavaş bir bağlantı üzerinden çalıştığında yöntemi çaðrýlýyor çalışmaya devam etmek uygulama sağlar.
Bir proje hizmeti başvurusunu eklendiğinde, varsayılan olarak, eşzamanlı olarak yöntemleri çağırmak için yapılandırılır.Bir ayarı değiştirerek zaman uyumsuz olarak yöntemleri çağırmak için kullanılacak davranışı değiştirebilirler Yapılandırma hizmeti başvuru iletişim kutusu.
[!NOT]
Bu seçenek, her hizmet için ayrı ayrı ayarlanır.Bir hizmet için bir yöntem zaman uyumsuz olarak adlandırılır, tüm yöntemleri zaman uyumsuz çağrılmalıdır.
[!NOT]
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için, bkz. Visual Studio'da Geliştirme Ayarlarını özelleştirme.
Zaman uyumsuz olarak hizmet yöntemini çağırmak için
İçinde Solution Explorer, hizmet referans'ı seçin.
Üzerinde Proje menüsünde,'ı Yapılandırma hizmeti başvuru.
İçinde Yapılandırma hizmeti başvuru Seç iletişim kutusunda Generate zaman uyumsuz işlemler onay kutusu.
Nasıl yapılır: bir hizmet tarafından döndürülen veri bağlama
Yalnızca başka bir veri kaynağını bir denetim bağlayabilirsiniz gibi bir denetimin Windows Communication Foundation (wcf) hizmeti tarafından döndürülen veri bağlayabilirsiniz.Hizmet veri döndüren bileşik türleri içeriyorsa bir wcf hizmeti başvuru eklediğinizde, bunlar otomatik olarak eklenir Veri kaynakları pencere.
Bir denetimi bir wcf hizmeti tarafından döndürülen tek veri alanına bağlamak için
Üzerinde veri menüsünde,'ı Show Data Sources.Veri kaynakları penceresi görünür.
İçinde Veri kaynakları penceresinde, servis başvuru düğümünü genişletin.Hizmet tarafından döndürülen herhangi bir bileşik türleri görüntülenir.
Bir tür bir düğümünü genişletin.Bu tür veri alanları görüntülenir.
Bir alan seçin ve veri türü için kullanılabilir olan denetimlerin listesini görüntülemek için aşağı açılan oku tıklatın.
Bağlamak istediğiniz denetim türünü tıklatın.
Alan bir form üzerine sürükleyin.Denetim ile birlikte forma eklenen bir BindingSource bileşeni ve bir BindingNavigator bileşeni.
6 Diğer herhangi bir alandan rağmen 4 arasındaki adımları yineleyin bağlamak istediğiniz.
wcf hizmeti tarafından döndürülen bileşik türü bir denetime bağlamak için
Üzerinde veri menüsünde, select Show Data Sources.Veri kaynakları penceresi görünür.
İçinde Veri kaynakları penceresinde, servis başvuru düğümünü genişletin.Hizmet tarafından döndürülen herhangi bir bileşik türleri görüntülenir.
Bir düğüm türü için seçin ve kullanılabilir seçeneklerin listesini görüntülemek için aşağı açılan oku tıklatın.
Tıklatın ya da DataGridView veri bir kılavuz içinde görüntülemek için veya Ayrıntıları tek tek denetimlerin verileri görüntülemek için.
Düğüm form üzerine sürükleyin.Denetimleri ile birlikte forma eklenen bir BindingSource bileşeni ve bir BindingNavigator bileşeni.
Nasıl yapılır: varolan türlerini yeniden kullanmak amacıyla hizmeti yapılandırmak
Bir proje hizmeti başvurusunu eklendiğinde, serviste tanımlanır herhangi bir tür yerel proje oluşturulur.Bir hizmetin kullandığı çoğu durumda, bu yinelenen türleri ortak oluşturur .NET Framework türleri veya ne zaman içinde paylaşılan kitaplık türleri tanımlanmıştır.
Bu sorunu önlemek için başvurulan derlemeler türlerinde varsayılan olarak paylaşılır.Bir veya daha fazla derlemeler için paylaşım türü devre dışı bırakmak istiyorsanız, bu nedenle de yapabileceğiniz Yapılandırma hizmeti başvuruları iletişim kutusu.
Türü tek bir derlemede paylaşımı devre dışı bırakmak için
İçinde Solution Explorer, hizmet referans'ı seçin.
Üzerinde Proje menüsünde,'ı Yapılandırma hizmeti başvuru.
İçinde Yapılandırma hizmeti başvuruları Seç iletişim kutusunda belirtilen başvurulan derlemeler türlerinde yeniden.
Tür Paylaşımı'nı etkinleştirmek istediğiniz her derleme için onay kutusunu seçin.Türü derleme için paylaşım devre dışı bırakmak için onay kutusunu temizleyin.
Türü tüm derlemelere paylaşımı devre dışı bırakmak için
İçinde Solution Explorer, hizmet referans'ı seçin.
Üzerinde Proje menüsünde,'ı Yapılandırma hizmeti başvuru.
İçinde Yapılandırma hizmeti başvuruları iletişim kutusunda, açık başvurulan derlemeler türlerinde yeniden onay kutusu.
İlgili Konular
Başlık |
Description |
---|---|
Oluşturma ve wcf hizmetleri kullanarak adım adım yol gösteren bir örnek sağlar Visual Studio. |
|
İzlenecek Yol: Visual Studio'da WCF Veri Hizmetleri Oluşturma ve Erişme |
Oluşturma ve kullanma hakkında adım adım yol gösteren bir gösterimini sağlar WCF Veri Hizmetleri , Visual Studio. |
Oluşturma ve sınama wcf hizmetleri nasıl anlatılır Visual Studio. |
|
Ekleme, güncelleştirme veya wcf hizmetleri bir projeden kaldırmak açıklar. |
|
Nasıl Yapılır: WCF Veri Hizmeti Başvurusunu Güncelleme veya Kaldırma |
Başvuru ve kullanma anlatılır WCF Veri Hizmetleri , Visual Studio. |
Projeye (asmx) xml Web servisine başvuru ekleme açıklar. |
|
Hizmeti başvuruları ve bunları önleme ile ortaya çıkabilecek bazı sık karşılaşılan hatalar sunar. |
|
Genel hata ayıklama sorunları ve hata ayıklama wcf hizmetleri kullanırken karşılaşabileceğiniz teknikler açıklanır. |
|
Windows Communication Foundation Authentication Service Overview |
wcf Web sitesi için bir rol hizmeti sağlamak için nasıl kullanılacağını açıklar. |
wcf ileti katmanında desteğini açıklar.net Compact Framework. |
|
TableAdapter ve dataset kod birden fazla proje ayıran ve bir typed dataset oluşturmak için adım adım yönergeler sağlar. |
|
Kullanıcı arabirimi öğelerini açıklar Add Reference hizmet iletişim kutusu. |
|
Kullanıcı arabirimi öğelerini açıklar Yapılandırma hizmeti başvuru iletişim kutusu. |