IWsdlImportExtension.ImportContract Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Appelé lors de l’importation d’un contrat.
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)
Paramètres
- importer
- WsdlImporter
Importateur.
- context
- WsdlContractConversionContext
Contexte d’importation à modifier.
Exemples
L’exemple de code suivant montre l’utilisation d’un IWsdlImportExtension et d’un System.ServiceModel.Description.IServiceContractGenerationExtensionSystem.ServiceModel.Description.IOperationContractGenerationExtension (le WsdlDocumentationImporter, dans ce cas) pour modifier le code client WCF généré au niveau de l’interface et de l’opération.
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));
}
}
}
}
L’exemple de code suivant montre comment configurer le système de métadonnées client pour utiliser le personnalisé IWsdlImportExtension à partir d’un fichier de configuration d’application.
<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>
Remarques
La ImportContract méthode est appelée lorsqu’un contrat est importé. Vous pouvez modifier le contrat ou insérer d’autres comportements d’exportation tels qu’un System.ServiceModel.Description.IServiceContractGenerationExtensionSystem.ServiceModel.Description.IOperationContractGenerationExtension objet pour modifier le code généré pour le contrat.