IWsdlImportExtension.ImportContract Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Volá se při importu kontraktu.
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)
Parametry
- importer
- WsdlImporter
Dovozce.
- context
- WsdlContractConversionContext
Kontext importu, který se má upravit.
Příklady
Následující příklad kódu ukazuje použití k přidání System.ServiceModel.Description.IServiceContractGenerationExtension a (WsdlDocumentationImporter
System.ServiceModel.Description.IOperationContractGenerationExtensionv tomto případě ) ke změně vygenerovaného klientského IWsdlImportExtension kódu WCF na úrovni rozhraní a operace.
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));
}
}
}
}
Následující příklad kódu ukazuje, jak nakonfigurovat systém metadat klienta tak, aby používal vlastní IWsdlImportExtension z konfiguračního souboru aplikace.
<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>
Poznámky
Metoda ImportContract se volá při importu kontraktu. Můžete upravit kontrakt nebo vložit jiné chování exportu, jako System.ServiceModel.Description.IServiceContractGenerationExtension jsou a System.ServiceModel.Description.IOperationContractGenerationExtension objekty, a upravit kód, který je vygenerován pro kontrakt.