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 System.ServiceModel.Description.IServiceContractGenerationExtension et d’un System.ServiceModel.Description.IOperationContractGenerationExtension (le , dans ce cas) pour modifier le code client WCF généré au niveau de l’interface et de l’opération WsdlDocumentationImporter
.
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 l'IWsdlImportExtension personnalisée d'un fichier de configuration de l'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 méthode ImportContract est appelée lors de l'importation d'un contrat. Vous pouvez modifier le contrat ou insérer d'autres comportements d'exportation tels que les objets System.ServiceModel.Description.IServiceContractGenerationExtension et System.ServiceModel.Description.IOperationContractGenerationExtension pour modifier le code généré pour le contrat.