IWsdlImportExtension Arabirim
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İçeri aktarıcının Web Hizmetleri Açıklama Dili (WSDL) bölümlerini bir WsdlImporter nesnenin bölümleriyle nasıl eşleyişini denetlemek için bir ServiceDescription nesne uygulayın ve nesneye ekleyin.
public interface class IWsdlImportExtension
public interface IWsdlImportExtension
type IWsdlImportExtension = interface
Public Interface IWsdlImportExtension
- Türetilmiş
Örnekler
Aşağıdaki kod örneği, arabirim ve System.ServiceModel.Description.IOperationContractGenerationExtension işlem düzeyinde oluşturulan WCF istemci kodunu değiştirmek için ve System.ServiceModel.Description.IServiceContractGenerationExtension (WsdlDocumentationImporter
bu örnekte ) eklemek için kullanımını IWsdlImportExtension gösterir.
public void ImportContract(WsdlImporter importer, WsdlContractConversionContext context)
{
Console.Write("ImportContract");
// Contract Documentation
if (context.WsdlPortType.Documentation != null)
{
context.Contract.Behaviors.Add(new WsdlDocumentationImporter(context.WsdlPortType.Documentation));
}
// Operation Documentation
foreach (Operation operation in context.WsdlPortType.Operations)
{
if (operation.Documentation != null)
{
OperationDescription operationDescription = context.Contract.Operations.Find(operation.Name);
if (operationDescription != null)
{
operationDescription.Behaviors.Add(new WsdlDocumentationImporter(operation.Documentation));
}
}
}
}
Aşağıdaki kod örneğinde, istemci meta veri sisteminin bir uygulama yapılandırma dosyasından özel IWsdlImportExtension kullanılacak şekilde nasıl yapılandırılır gösterilmektedir.
<system.serviceModel>
<client>
<endpoint
address="http://localhost:8000/Fibonacci"
binding="wsHttpBinding"
contract="IFibonacci"
/>
<metadata>
<wsdlImporters>
<extension type="Microsoft.WCF.Documentation.WsdlDocumentationImporter, WsdlDocumentation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</wsdlImporters>
</metadata>
</client>
</system.serviceModel>
Açıklamalar
IWsdlImportExtension Özellikle sözleşme veya uç nokta bilgilerinizi değiştirmek için özel WSDL uzantılarını okurken WSDL ile ServiceEndpoint ContractDescription nesneler arasındaki eşlemeyi denetlemek için arabirimini uygulayın. Ardından özel IWsdlImportExtension nesnenizi WsdlImporter program aracılığıyla veya bir uygulama yapılandırma dosyası kullanarak ekleyin. Özel nesnenizi IWsdlImportExtension bir uygulama yapılandırma dosyası kullanarak ServiceModel Meta Veri Yardımcı Programı Aracı (Svcutil.exe) tarafından kullanılan iç WsdlImporter nesneye de ekleyebilirsiniz.
Bir ImportContract sözleşmeyi içeri aktarmak için yöntemi çağrılır.
BeforeImport daha sonra ve ContractDescription nesnelerine ServiceEndpoint içeri aktarılan meta verileri değiştirmek için yöntemini kullanın.
Yöntemler
BeforeImport(ServiceDescriptionCollection, XmlSchemaSet, ICollection<XmlElement>) |
Meta veri belgelerini içeri aktarmadan önce çağrılır. |
ImportContract(WsdlImporter, WsdlContractConversionContext) |
Sözleşme içeri aktarılırken çağrılır. |
ImportEndpoint(WsdlImporter, WsdlEndpointConversionContext) |
Uç nokta içeri aktarılırken çağrılır. |