Procedura: esportare asserzioni di criteri personalizzate
Le asserzioni di criteri descrivono le funzionalità e i requisiti di un endpoint del servizio. Le applicazioni del servizio possono utilizzare asserzioni di criteri personalizzate nei metadati del servizio per comunicare informazioni sulla personalizzazione di endpoint, associazione e contratto all'applicazione client. È possibile utilizzare Windows Communication Foundation (WCF) per esportare asserzioni in espressioni di criteri collegate alle associazioni WSDL nell'endpoint, nell'operazione o negli oggetti del messaggio, a seconda delle funzionalità o dei requisiti da comunicare.
Le asserzioni di criteri personalizzate vengono esportate mediante l'implementazione dell'interfaccia System.ServiceModel.Description.IPolicyExportExtension in un elemento System.ServiceModel.Channels.BindingElement, inserendo l'elemento dell'associazione direttamente nell'associazione dell'endpoint del servizio o registrando l'elemento dell'associazione nel file di configurazione dell'applicazione. È necessario che l'implementazione dell'esportazione del criterio aggiunga l'asserzione di criteri personalizzata come istanza System.Xml.XmlElement all'elemento System.ServiceModel.Description.PolicyAssertionCollection appropriato nell'elemento System.ServiceModel.Description.PolicyConversionContext passato al metodo ExportPolicy.
È inoltre necessario controllare la proprietà PolicyVersion della classe WsdlExporter ed esportare espressioni del criterio nidificate e attributi dello schema dei criteri nello spazio dei nomi corretto in base alla versione del criterio specificata.
Per importare asserzioni di criteri personalizzate, vedere System.ServiceModel.Description.IPolicyImportExtension e Procedura: importare asserzioni di criteri personalizzati.
Per esportare asserzioni di criteri personalizzate
Implementare l'interfaccia System.ServiceModel.Description.IPolicyExportExtension in una classe System.ServiceModel.Channels.BindingElement. Nell'esempio di codice seguente viene illustrata l'implementazione di un'asserzione di criteri personalizzata a livello di associazione.
Inserire l'elemento di associazione nell'associazione dell'endpoint a livello di programmazione o utilizzando un file di configurazione dell'applicazione. Vedere le procedure seguenti.
Per inserire un elemento di associazione utilizzando un file di configurazione dell'applicazione
Implementare System.ServiceModel.Configuration.BindingElementExtensionElement per l'elemento di associazione dell'asserzione di criteri personalizzata.
Aggiungere l'estensione dell'elemento di associazione al file di configurazione utilizzando l'elemento <bindingElementExtensions>.
Compilare un'associazione personalizzata utilizzando System.ServiceModel.Channels.CustomBinding.
Per inserire un elemento di associazione a livello di programmazione
Creare un nuovo elemento System.ServiceModel.Channels.BindingElement e aggiungerlo a System.ServiceModel.Channels.CustomBinding.
Aggiungere l'associazione personalizzata di cui al passaggio 1 a un endpoint nuovo e aggiungere tale nuovo endpoint del servizio a System.ServiceModel.ServiceHost chiamando il metodo AddServiceEndpoint.
Aprire l'elemento ServiceHost. Nell'esempio di codice seguente sono mostrati la creazione di un'associazione personalizzata e l'inserimento degli elementi dell'associazione a livello di programmazione.
Vedere anche
Attività
Procedura: importare asserzioni di criteri personalizzati