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
Das Importprogramm.
- context
- WsdlContractConversionContext
Der zu ändernde Importkontext.
Beispiele
Im folgenden Codebeispiel wird gezeigt, IWsdlImportExtension wie Sie eine und eine System.ServiceModel.Description.IServiceContractGenerationExtension System.ServiceModel.Description.IOperationContractGenerationExtension (in WsdlDocumentationImporter
diesem Fall) hinzufügen, um generierten WCF-Clientcode auf Der Schnittstelle und Vorgangsebene zu ändern.
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 das Clientmetadaten-System für die Verwendung der benutzerdefinierten IWsdlImportExtension in einer Anwendungskonfigurationsdatei konfiguriert wird.
<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 Exportverhalten einfügen, wie ein System.ServiceModel.Description.IServiceContractGenerationExtension-Objekt und ein System.ServiceModel.Description.IOperationContractGenerationExtension-Objekt, um den für den Vertrag generierten Code zu ändern.