IWsdlImportExtension.ImportContract Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anropas när ett kontrakt importeras.
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)
Parametrar
- importer
- WsdlImporter
Importören.
- context
- WsdlContractConversionContext
Importkontexten som ska ändras.
Exempel
I följande kodexempel visas användningen av IWsdlImportExtension för att lägga till en System.ServiceModel.Description.IServiceContractGenerationExtension och en System.ServiceModel.Description.IOperationContractGenerationExtension ( WsdlDocumentationImporteri det här fallet ) för att ändra genererad WCF-klientkod på gränssnitts- och åtgärdsnivå.
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));
}
}
}
}
Följande kodexempel visar hur du konfigurerar klientmetadatasystemet så att det använder det anpassade IWsdlImportExtension från en programkonfigurationsfil.
<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>
Kommentarer
Metoden ImportContract anropas när ett kontrakt importeras. Du kan ändra kontraktet eller infoga andra exportbeteenden, till exempel System.ServiceModel.Description.IServiceContractGenerationExtension och ett System.ServiceModel.Description.IOperationContractGenerationExtension objekt, för att ändra koden som genereras för kontraktet.