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.
Hizmet sözleşmesine dahil edilecek Kullanıcı Tanımlı Türü (UDT) temsil eder.
<configuration>
<system.serviceModel>
<comContracts>
<comContract>
<userDefinedTypes>
<userDefinedType>
Sözdizimi
<comContracts>
<comContract>
<userDefinedTypes>
<userDefinedType name="String"
typeLibID="String"
typeLibVersion="String"
typeDefID="String">
</userDefinedType>
</userDefinedTypes>
</comContract>
</comContracts>
Öznitelikler ve Öğeler
Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.
Attributes
| Özellik | Description |
|---|---|
name |
Okunabilir tür adını sağlayan bir dize içeren isteğe bağlı bir öznitelik. Bu, çalışma zamanı tarafından kullanılmaz, ancak okuyucunun türleri ayırt etmesine yardımcı olur. |
TypeDefID |
Kayıtlı tür kitaplığındaki belirli UDT türünü tanımlayan BIR GUID dizesi. |
TypeLibID |
Türü tanımlayan kayıtlı tür kitaplığını tanımlayan BIR GUID dizesi. |
TypeLibVersion |
Türü tanımlayan tür kitaplığı sürümünü tanımlayan bir dize. |
Alt Öğeler
Yok.
Üst Öğeler
| Öğe | Description |
|---|---|
userDefinedTypes |
Öğe koleksiyonu userDefinedType . |
Açıklamalar
COM+ tümleştirme çalışma zamanı, tür kitaplığını inceleyerek hizmetler oluşturur. BIR COM+ bileşeni DEĞIŞKEN geçiren yöntemler içerdiğinde, sistem çalışma zamanından önce geçirilecek gerçek türleri belirleyemez. Bu nedenle, bir VARIANT içinde Kullanıcı Tanımlı Tür (UDT) geçirmeyi denediğinizde, serileştirme için bilinen bir tür olmadığından başarısız olur.
Bu sorunu aşmak için UDT'leri yapılandırma dosyasına ekleyerek uygun hizmet sözleşmesine bilinen türler olarak eklenebilmelerini sağlayabilirsiniz. Bunu yapmak için UDT'yi ve sözleşmeleri, yani onu kullanan özgün COM arabirimlerini benzersiz olarak tanımlamanız gerekir.
Aşağıdaki örnek, bu amaçla yapılandırma dosyasının <userDefinedTypes> bölümüne iki özel UDT eklemeyi gösterir.
<comContracts>
<comContract contract="{5163B1E7-F0CF-4B6A-9A02-4AB654F34284}"
namespace="http://tempuri.org/5163B1E7-F0CF-4B6A-9A02-4AB654F34284"
name="_Broker"
requireSession="true">
<userDefinedTypes>
<userDefinedType name="CustomerType"
typeLibID="{91DC728C-4F1A-45de-A9B6-B538E209CEA6}"
typeLibVersion="1.0"
typeDefID="{D129765C-F211-434e-825A-9A63198C41F2}">
</userDefinedType>
<userDefinedType name="AddressType"
typeLibID="{91DC728C-4F1A-45de-A9B6-B538E209CEA6}"
typeLibVersion="1.0"
typeDefID="{4616AE0D-687A-43B7-BC63-141AE3DFD099}">
</userDefinedType>
</userDefinedTypes>
<exposedMethods>
<exposedMethod name="BuyStock" />
<exposedMethod name="SellStock" />
<exposedMethod name="ExecuteTransaction" />
</exposedMethods>
</comContract>
</comContracts>
Hizmet başlatıldığında, tümleştirme çalışma zamanı belirtilen türleri arar ve bunları belirtilen sözleşmeler için bilinen türler koleksiyonuna ekler.