IWsdlImportExtension.ImportContract Yöntem
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.
Sözleşme içeri aktarılırken çağrılır.
public:
void ImportContract(System::ServiceModel::Description::WsdlImporter ^ importer, System::ServiceModel::Description::WsdlContractConversionContext ^ context);
public void ImportContract (System.ServiceModel.Description.WsdlImporter importer, System.ServiceModel.Description.WsdlContractConversionContext context);
abstract member ImportContract : System.ServiceModel.Description.WsdlImporter * System.ServiceModel.Description.WsdlContractConversionContext -> unit
Public Sub ImportContract (importer As WsdlImporter, context As WsdlContractConversionContext)
Parametreler
- importer
- WsdlImporter
İçeri aktarıcı.
- context
- WsdlContractConversionContext
Değiştirilecek içeri aktarma bağlamı.
Ö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
Yöntemi ImportContract , bir sözleşme içeri aktarılırken çağrılır. Sözleşmeyi değiştirebilir veya sözleşme için oluşturulan kodu değiştirmek için ve gibi System.ServiceModel.Description.IServiceContractGenerationExtension başka dışarı System.ServiceModel.Description.IOperationContractGenerationExtension aktarma davranışları ekleyebilirsiniz.