void IPolicyExportExtension.ExportPolicy(MetadataExporter exporter, PolicyConversionContext context) { if (exporter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("exporter"); } if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } SecurityBindingElement.ExportPolicyForTransportTokenAssertionProviders(exporter, context); }
void IPolicyExportExtension.ExportPolicy(MetadataExporter exporter, PolicyConversionContext policyContext) { if (exporter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("exporter"); } if (policyContext == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("policyContext"); } if (policyContext.BindingElements.Find <ITransportTokenAssertionProvider>() == null) { if (!this.AllowInsecureTransport) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ExportOfBindingWithTransportSecurityBindingElementAndNoTransportSecurityNotSupported))); } // In AllowInsecureTransport mode there is no assertion provider to export the endpoint supporting tokens. Hence we explicitly call into ExportPolicyForTransportTokenAssertionProviders. SecurityBindingElement.ExportPolicyForTransportTokenAssertionProviders(exporter, policyContext); } // the ITransportTokenAssertionProvider will perform the acutal export steps. }
internal override void OnExportPolicy(MetadataExporter exporter, PolicyConversionContext context) { base.OnExportPolicy(exporter, context); SecurityBindingElement.ExportPolicyForTransportTokenAssertionProviders(exporter, context); }