Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / security / system / security / authentication / ExtendedProtection / ExtendedProtectionPolicy.cs / 1 / ExtendedProtectionPolicy.cs
//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Security.Authentication.ExtendedProtection; using System.Text; namespace System.Security.Authentication.ExtendedProtection { ////// This class contains the necessary settings for specifying how Extended Protection /// should behave. Use one of the Build* methods to create an instance of this type. /// public class ExtendedProtectionPolicy { private ServiceNameCollection customServiceNames; private PolicyEnforcement policyEnforcement; private ProtectionScenario protectionScenario; private ChannelBinding customChannelBinding; public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement, ProtectionScenario protectionScenario, ServiceNameCollection customServiceNames) { if (policyEnforcement == PolicyEnforcement.Never) { throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_UseDifferentConstructorForNever), "policyEnforcement"); } if (customServiceNames != null && customServiceNames.Count == 0) { throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_NoEmptyServiceNameCollection), "customServiceNames"); } this.policyEnforcement = policyEnforcement; this.protectionScenario = protectionScenario; this.customServiceNames = customServiceNames; } public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement, ChannelBinding customChannelBinding) { if (policyEnforcement == PolicyEnforcement.Never) { throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_UseDifferentConstructorForNever), "policyEnforcement"); } if (customChannelBinding == null) { throw new ArgumentNullException("customChannelBinding"); } this.policyEnforcement = policyEnforcement; this.protectionScenario = ProtectionScenario.TransportSelected; this.customChannelBinding = customChannelBinding; } public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement) { // this is the only constructor which allows PolicyEnforcement.Never. this.policyEnforcement = policyEnforcement; this.protectionScenario = ProtectionScenario.TransportSelected; } public ServiceNameCollection CustomServiceNames { get { return customServiceNames; } } public PolicyEnforcement PolicyEnforcement { get { return policyEnforcement; } } public ProtectionScenario ProtectionScenario { get { return protectionScenario; } } public ChannelBinding CustomChannelBinding { get { return customChannelBinding; } } public override string ToString() { StringBuilder sb = new StringBuilder(); sb.Append("ProtectionScenario="); sb.Append(protectionScenario.ToString()); sb.Append("; PolicyEnforcement="); sb.Append(policyEnforcement.ToString()); sb.Append("; CustomChannelBinding="); if (customChannelBinding == null) { sb.Append(""); } else { sb.Append(customChannelBinding.ToString()); } sb.Append("; ServiceNames="); if (customServiceNames == null) { sb.Append(" "); } else { bool first = true; foreach (string serviceName in customServiceNames) { if (first) { first = false; } else { sb.Append(", "); } sb.Append(serviceName); } } return sb.ToString(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Security.Authentication.ExtendedProtection; using System.Text; namespace System.Security.Authentication.ExtendedProtection { /// /// This class contains the necessary settings for specifying how Extended Protection /// should behave. Use one of the Build* methods to create an instance of this type. /// public class ExtendedProtectionPolicy { private ServiceNameCollection customServiceNames; private PolicyEnforcement policyEnforcement; private ProtectionScenario protectionScenario; private ChannelBinding customChannelBinding; public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement, ProtectionScenario protectionScenario, ServiceNameCollection customServiceNames) { if (policyEnforcement == PolicyEnforcement.Never) { throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_UseDifferentConstructorForNever), "policyEnforcement"); } if (customServiceNames != null && customServiceNames.Count == 0) { throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_NoEmptyServiceNameCollection), "customServiceNames"); } this.policyEnforcement = policyEnforcement; this.protectionScenario = protectionScenario; this.customServiceNames = customServiceNames; } public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement, ChannelBinding customChannelBinding) { if (policyEnforcement == PolicyEnforcement.Never) { throw new ArgumentException(SR.GetString(SR.security_ExtendedProtectionPolicy_UseDifferentConstructorForNever), "policyEnforcement"); } if (customChannelBinding == null) { throw new ArgumentNullException("customChannelBinding"); } this.policyEnforcement = policyEnforcement; this.protectionScenario = ProtectionScenario.TransportSelected; this.customChannelBinding = customChannelBinding; } public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement) { // this is the only constructor which allows PolicyEnforcement.Never. this.policyEnforcement = policyEnforcement; this.protectionScenario = ProtectionScenario.TransportSelected; } public ServiceNameCollection CustomServiceNames { get { return customServiceNames; } } public PolicyEnforcement PolicyEnforcement { get { return policyEnforcement; } } public ProtectionScenario ProtectionScenario { get { return protectionScenario; } } public ChannelBinding CustomChannelBinding { get { return customChannelBinding; } } public override string ToString() { StringBuilder sb = new StringBuilder(); sb.Append("ProtectionScenario="); sb.Append(protectionScenario.ToString()); sb.Append("; PolicyEnforcement="); sb.Append(policyEnforcement.ToString()); sb.Append("; CustomChannelBinding="); if (customChannelBinding == null) { sb.Append(""); } else { sb.Append(customChannelBinding.ToString()); } sb.Append("; ServiceNames="); if (customServiceNames == null) { sb.Append(" "); } else { bool first = true; foreach (string serviceName in customServiceNames) { if (first) { first = false; } else { sb.Append(", "); } sb.Append(serviceName); } } return sb.ToString(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DrawingBrush.cs
- BaseParagraph.cs
- XMLUtil.cs
- baseaxisquery.cs
- Manipulation.cs
- DataGridViewColumnStateChangedEventArgs.cs
- MenuEventArgs.cs
- Funcletizer.cs
- InputLangChangeEvent.cs
- XmlQueryCardinality.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- PrinterSettings.cs
- pingexception.cs
- SafeLibraryHandle.cs
- XmlAttributeCollection.cs
- Ticks.cs
- Splitter.cs
- ThicknessAnimation.cs
- PersonalizationProviderCollection.cs
- InvalidOperationException.cs
- OleDbError.cs
- SystemIPInterfaceProperties.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- ResourceReader.cs
- GridViewRowPresenter.cs
- RecognizeCompletedEventArgs.cs
- UserControlCodeDomTreeGenerator.cs
- FtpCachePolicyElement.cs
- MediaTimeline.cs
- SQLByte.cs
- Vector3DKeyFrameCollection.cs
- DataKeyArray.cs
- CheckBoxAutomationPeer.cs
- SchemaSetCompiler.cs
- CustomErrorsSection.cs
- _OverlappedAsyncResult.cs
- ValueSerializer.cs
- _DisconnectOverlappedAsyncResult.cs
- ImageDrawing.cs
- ConfigurationPropertyAttribute.cs
- SendMailErrorEventArgs.cs
- RoutedUICommand.cs
- HttpResponseInternalWrapper.cs
- ProcessStartInfo.cs
- Viewport3DAutomationPeer.cs
- cookiecontainer.cs
- TextShapeableCharacters.cs
- TraceInternal.cs
- TaiwanCalendar.cs
- SystemNetHelpers.cs
- ClientConvert.cs
- ApplicationActivator.cs
- SizeConverter.cs
- WizardForm.cs
- ClearTypeHintValidation.cs
- SynchronizationContext.cs
- OutputCacheSection.cs
- _AutoWebProxyScriptHelper.cs
- StringValidatorAttribute.cs
- KeyedHashAlgorithm.cs
- MethodCallConverter.cs
- ValidatorCompatibilityHelper.cs
- XPathMultyIterator.cs
- CultureTableRecord.cs
- OperatorExpressions.cs
- StreamWriter.cs
- AsyncInvokeContext.cs
- GenerateTemporaryTargetAssembly.cs
- OracleString.cs
- SystemInformation.cs
- CodeVariableReferenceExpression.cs
- GeneratedContractType.cs
- XmlIterators.cs
- SoundPlayer.cs
- RoleManagerSection.cs
- Oid.cs
- RepeaterItemEventArgs.cs
- SecurityCriticalDataForSet.cs
- Font.cs
- SystemDiagnosticsSection.cs
- WebBrowserNavigatingEventHandler.cs
- Repeater.cs
- OleDbDataAdapter.cs
- ControlLocalizer.cs
- ToolStripLocationCancelEventArgs.cs
- SettingsPropertyCollection.cs
- _Semaphore.cs
- BCryptNative.cs
- ErrorEventArgs.cs
- GenericParameterDataContract.cs
- VersionValidator.cs
- FlowDocumentReaderAutomationPeer.cs
- UnsafeNativeMethods.cs
- EdmProperty.cs
- FormClosedEvent.cs
- DockAndAnchorLayout.cs
- CalendarDateChangedEventArgs.cs
- ExceptionUtil.cs
- RangeValidator.cs
- TextTreeInsertElementUndoUnit.cs