Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / MachineKeyValidationConverter.cs / 1305376 / MachineKeyValidationConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections; using System.IO; using System.Reflection; using System.Security.Permissions; using System.Xml; using System.Collections.Specialized; using System.Globalization; using System.ComponentModel; using System.Security; using System.Text; using System.Configuration; namespace System.Web.Configuration { [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class MachineKeyValidationConverter : ConfigurationConverterBase { public override object ConvertTo(ITypeDescriptorContext ctx, CultureInfo ci, object value, Type type) { if (!(value is MachineKeyValidation)) { throw new ArgumentException(SR.GetString(SR.Config_Invalid_enum_value, "SHA1, MD5, 3DES, AES, HMACSHA256, HMACSHA384, HMACSHA512")); } return ConvertFromEnum((MachineKeyValidation)value); } public override object ConvertFrom(ITypeDescriptorContext ctx, CultureInfo ci, object data) { return ConvertToEnum((string)data); } internal static string ConvertFromEnum(MachineKeyValidation enumValue) { switch (enumValue) { case MachineKeyValidation.SHA1: return "SHA1"; case MachineKeyValidation.MD5: return "MD5"; case MachineKeyValidation.TripleDES: return "3DES"; case MachineKeyValidation.AES: return "AES"; case MachineKeyValidation.HMACSHA256: return "HMACSHA256"; case MachineKeyValidation.HMACSHA384: return "HMACSHA384"; case MachineKeyValidation.HMACSHA512: return "HMACSHA512"; default: throw new ArgumentException(SR.GetString(SR.Wrong_validation_enum)); } } internal static MachineKeyValidation ConvertToEnum(string strValue) { if (strValue==null) return MachineKeySection.DefaultValidation; switch (strValue) { case "SHA1": return MachineKeyValidation.SHA1; case "MD5": return MachineKeyValidation.MD5; case "3DES": return MachineKeyValidation.TripleDES; case "AES": return MachineKeyValidation.AES; case "HMACSHA256": return MachineKeyValidation.HMACSHA256; case "HMACSHA384": return MachineKeyValidation.HMACSHA384; case "HMACSHA512": return MachineKeyValidation.HMACSHA512; default: if (strValue.StartsWith("alg:", StringComparison.Ordinal)) return MachineKeyValidation.Custom; throw new ArgumentException(SR.GetString(SR.Wrong_validation_enum)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections; using System.IO; using System.Reflection; using System.Security.Permissions; using System.Xml; using System.Collections.Specialized; using System.Globalization; using System.ComponentModel; using System.Security; using System.Text; using System.Configuration; namespace System.Web.Configuration { [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class MachineKeyValidationConverter : ConfigurationConverterBase { public override object ConvertTo(ITypeDescriptorContext ctx, CultureInfo ci, object value, Type type) { if (!(value is MachineKeyValidation)) { throw new ArgumentException(SR.GetString(SR.Config_Invalid_enum_value, "SHA1, MD5, 3DES, AES, HMACSHA256, HMACSHA384, HMACSHA512")); } return ConvertFromEnum((MachineKeyValidation)value); } public override object ConvertFrom(ITypeDescriptorContext ctx, CultureInfo ci, object data) { return ConvertToEnum((string)data); } internal static string ConvertFromEnum(MachineKeyValidation enumValue) { switch (enumValue) { case MachineKeyValidation.SHA1: return "SHA1"; case MachineKeyValidation.MD5: return "MD5"; case MachineKeyValidation.TripleDES: return "3DES"; case MachineKeyValidation.AES: return "AES"; case MachineKeyValidation.HMACSHA256: return "HMACSHA256"; case MachineKeyValidation.HMACSHA384: return "HMACSHA384"; case MachineKeyValidation.HMACSHA512: return "HMACSHA512"; default: throw new ArgumentException(SR.GetString(SR.Wrong_validation_enum)); } } internal static MachineKeyValidation ConvertToEnum(string strValue) { if (strValue==null) return MachineKeySection.DefaultValidation; switch (strValue) { case "SHA1": return MachineKeyValidation.SHA1; case "MD5": return MachineKeyValidation.MD5; case "3DES": return MachineKeyValidation.TripleDES; case "AES": return MachineKeyValidation.AES; case "HMACSHA256": return MachineKeyValidation.HMACSHA256; case "HMACSHA384": return MachineKeyValidation.HMACSHA384; case "HMACSHA512": return MachineKeyValidation.HMACSHA512; default: if (strValue.StartsWith("alg:", StringComparison.Ordinal)) return MachineKeyValidation.Custom; throw new ArgumentException(SR.GetString(SR.Wrong_validation_enum)); } } } } // 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
- RemotingSurrogateSelector.cs
- MappingSource.cs
- TextMetrics.cs
- X509RecipientCertificateServiceElement.cs
- MembershipPasswordException.cs
- BindingExpressionUncommonField.cs
- ExtensionDataObject.cs
- SignHashRequest.cs
- Application.cs
- DataConnectionHelper.cs
- PageAsyncTask.cs
- WebPartZoneBaseDesigner.cs
- PeerDefaultCustomResolverClient.cs
- CheckoutException.cs
- ArgumentElement.cs
- JournalEntryStack.cs
- CounterCreationData.cs
- _ConnectStream.cs
- InvokeAction.cs
- ConfigXmlAttribute.cs
- ISCIIEncoding.cs
- RequestCachePolicy.cs
- LicenseException.cs
- DataGridViewAutoSizeModeEventArgs.cs
- PermissionSetEnumerator.cs
- ServiceInstallComponent.cs
- NameSpaceExtractor.cs
- RecordsAffectedEventArgs.cs
- FileNameEditor.cs
- TemplateParser.cs
- NameValuePair.cs
- TreeNodeCollection.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- FlowSwitchLink.cs
- XMLDiffLoader.cs
- PageAsyncTask.cs
- ReflectTypeDescriptionProvider.cs
- ADMembershipUser.cs
- OpenFileDialog.cs
- TextBoxDesigner.cs
- DependencyObject.cs
- SolidColorBrush.cs
- CorrelationService.cs
- IpcChannelHelper.cs
- ItemType.cs
- DataListItemCollection.cs
- PolyLineSegment.cs
- DataTableMapping.cs
- RoutedEventValueSerializer.cs
- MediaContextNotificationWindow.cs
- Logging.cs
- ComPlusTypeValidator.cs
- FormViewDeletedEventArgs.cs
- HwndHostAutomationPeer.cs
- PathHelper.cs
- FeatureSupport.cs
- SendReply.cs
- ProtocolsSection.cs
- SafePipeHandle.cs
- BaseDataBoundControlDesigner.cs
- UriSection.cs
- WorkflowMarkupSerializer.cs
- AuthenticationManager.cs
- DataSourceHelper.cs
- CapabilitiesState.cs
- LabelLiteral.cs
- InputReportEventArgs.cs
- CacheEntry.cs
- BaseParaClient.cs
- InstanceKeyView.cs
- ReferenceService.cs
- XPathDocumentIterator.cs
- TextRunTypographyProperties.cs
- DataServiceQueryOfT.cs
- BinaryObjectReader.cs
- CancelEventArgs.cs
- EnumerableCollectionView.cs
- TokenCreationException.cs
- FilteredSchemaElementLookUpTable.cs
- CodeFieldReferenceExpression.cs
- Convert.cs
- CompatibleIComparer.cs
- Matrix.cs
- SByte.cs
- BitSet.cs
- PrePrepareMethodAttribute.cs
- DeviceContexts.cs
- dataSvcMapFileLoader.cs
- WebPartConnection.cs
- AdvancedBindingEditor.cs
- LocalizationCodeDomSerializer.cs
- EventMappingSettings.cs
- ParameterCollectionEditorForm.cs
- SelectionItemProviderWrapper.cs
- ArrayTypeMismatchException.cs
- ToolboxService.cs
- MethodCallConverter.cs
- RequestCachingSection.cs
- ProcessHostMapPath.cs
- ObjectQueryState.cs