IWsdlImportExtension.ImportContract Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wird beim Importieren eines Vertrags aufgerufen.
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)
Parameter
- importer
- WsdlImporter
Der Importeur.
- context
- WsdlContractConversionContext
Der zu ändernde Importkontext.
Beispiele
Das folgende Codebeispiel zeigt die Verwendung des Hinzufügens eines und einer (in diesem Fall), um generierten WCF-Clientcode auf Schnittstelle und Vorgangsebene zu ändern.The following code shows the use of IWsdlImportExtension add an System.ServiceModel.Description.IServiceContractGenerationExtension and an System.ServiceModel.Description.IOperationContractGenerationExtension (the WsdlDocumentationImporter, in this case) to modify generated WCF client code at the interface and operation level.
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));
}
}
}
}
Das folgende Codebeispiel zeigt, wie Sie das Clientmetadatensystem so konfigurieren, dass er die benutzerdefinierte IWsdlImportExtension aus einer Anwendungskonfigurationsdatei verwendet.
<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>
Hinweise
Die ImportContract Methode wird aufgerufen, wenn ein Vertrag importiert wird. Sie können den Vertrag ändern oder andere Exportverhaltensweisen wie System.ServiceModel.Description.IServiceContractGenerationExtension z. B. und objekte System.ServiceModel.Description.IOperationContractGenerationExtension einfügen, um den für den Vertrag generierten Code zu ändern.