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.
Dağıtım API'si, genelleştirilmiş içeriğin çeşitli biçimlerde kabloya yazılmasını sağlayan, biçimsiz bir programlama modeli sağlamak üzere tasarlanmıştır. Soyut veri modeli aşağıdaki sınıflardan oluşur:
Bu sınıflar, bazı adlar farklı olsa da Atom 1.0 belirtiminde tanımlanan yapılarla yakından eşlenir.
Dağıtım protokollerinin temel özelliklerinden biri genişletilebilirliktir. Hem Atom 1.0 hem de RSS 2.0, belirtimlerde tanımlanmayan dağıtım akışlarına öznitelikler ve öğeler ekler. Windows Communication Foundation (WCF) dağıtım programlama modeli, özel öznitelikler ve uzantılarla çalışmak, gevşek türetilmiş erişim ve yeni bir sınıf türetmek için aşağıdaki yolları sağlar.
Gevşek Yazımlı Erişim
Yeni bir sınıf türeterek uzantı eklemek için ek kod yazılması gerekir. Diğer bir seçenek de uzantılara gevşek bir şekilde erişmektir. Dağıtım soyut veri modelinde tanımlanan tüm türler AttributeExtensions ve ElementExtensions adında özellikler içerir (tek bir istisna dışında, SyndicationContent özelliği AttributeExtensions vardır ama ElementExtensions özelliği yoktur). Bu özellikler, sırasıyla TryParseAttribute ve TryParseElement yöntemleri tarafından işlenmeyen uzantı koleksiyonlarıdır.
SyndicationElementExtensionCollection.ReadElementExtensions, ElementExtensions, SyndicationFeed, SyndicationItem ve SyndicationLink öğelerinin SyndicationPerson özelliğinde SyndicationCategory çağırarak bu işlenmemiş uzantılara erişebilirsiniz. Bu yöntem kümesi, belirtilen ad ve ad alanına sahip tüm uzantıları bulur, her birini serileştirilmiş verilere dönüştürerek TExtension örneklerine ayırır ve bunları TExtension nesnelerinin bir koleksiyonu olarak döndürür.
Yeni Sınıf Türetme
Mevcut soyut veri modeli sınıflarından herhangi birinden yeni bir sınıf türetebilirsiniz. Üzerinde çalıştığınız akışların çoğunun belirli bir uzantıya sahip olduğu bir uygulama uygularken bunu yapın. Programın çalıştığı beslemelerin çoğu bu konu başlığında bir MyExtension uzantısı içerir. Geliştirilmiş bir programlama deneyimi sağlamak için aşağıdaki adımları uygulayın:
Uzantı verilerini tutmak için bir sınıf oluşturun. Bu durumda MyExtension adlı bir sınıf oluşturun.
Programlanabilirlik amacıyla MyExtension türünde bir özelliği kullanıma açmak için öğesinden SyndicationItem MyExtensionItem adlı bir sınıf türetin.
MyExtension bir MyExtension okunduğunda, yeni bir MyExtension örneği oluşturmak için MyExtensionItem sınıfında TryParseElement(XmlReader, String)'i geçersiz kılın.
MyExtension özelliğinin içeriğini bir XML yazıcısına yazmak için MyExtensionItem sınıfında geçersiz kılın WriteElementExtensions(XmlWriter, String) .
öğesinden SyndicationFeedMyExtensionFeed adlı bir sınıf türetin.
MyExtensionItem örneği oluşturmak için MyExtensionFeed sınıfında CreateItem()'ü geçersiz kılın ve varsayılan SyndicationItem yerine bunu kullanın. SyndicationFeed ve SyndicationItem içinde tanımlanan, SyndicationLink, SyndicationCategory ve SyndicationPerson nesneleri (örneğin, CreateLink(), CreateCategory() ve CreatePerson()) oluşturabilen bir dizi yöntem vardır. Bunların tümü özel türetilmiş bir sınıf oluşturmak için geçersiz kılınabilir.