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
- Ipv6Element.cs
- CopyAttributesAction.cs
- PrintPreviewControl.cs
- KeyValueSerializer.cs
- compensatingcollection.cs
- CacheMemory.cs
- NativeCppClassAttribute.cs
- ContentType.cs
- XmlBoundElement.cs
- WorkItem.cs
- SortFieldComparer.cs
- SamlAuthorizationDecisionStatement.cs
- infer.cs
- SqlClientWrapperSmiStreamChars.cs
- InputProcessorProfiles.cs
- ResourceCodeDomSerializer.cs
- FormatConvertedBitmap.cs
- TextPenaltyModule.cs
- Clause.cs
- User.cs
- SyndicationPerson.cs
- VirtualPathUtility.cs
- MarkupObject.cs
- ServiceNameElement.cs
- MenuItemStyle.cs
- ImagingCache.cs
- MemberInfoSerializationHolder.cs
- ButtonRenderer.cs
- SafeNativeMethods.cs
- IndexedString.cs
- OfTypeExpression.cs
- SqlDataSource.cs
- DbConnectionStringBuilder.cs
- JsonWriterDelegator.cs
- RetrieveVirtualItemEventArgs.cs
- Event.cs
- XPathChildIterator.cs
- Listbox.cs
- MouseGesture.cs
- GridItem.cs
- ColorTransformHelper.cs
- HTTPNotFoundHandler.cs
- HwndKeyboardInputProvider.cs
- Ray3DHitTestResult.cs
- Funcletizer.cs
- CallSiteOps.cs
- GridPattern.cs
- Floater.cs
- XmlSerializerAssemblyAttribute.cs
- IdentityValidationException.cs
- Context.cs
- ConfigurationStrings.cs
- InstanceKey.cs
- dbenumerator.cs
- SemanticResolver.cs
- WebDisplayNameAttribute.cs
- NetworkStream.cs
- StringFunctions.cs
- clipboard.cs
- ResourcesChangeInfo.cs
- LostFocusEventManager.cs
- PatternMatcher.cs
- Stackframe.cs
- Int64Converter.cs
- InputScopeManager.cs
- CompositeFontInfo.cs
- FilterException.cs
- BrowserCapabilitiesCodeGenerator.cs
- BrowserCapabilitiesCodeGenerator.cs
- AuthorizationRuleCollection.cs
- SizeValueSerializer.cs
- AddToCollection.cs
- XamlFilter.cs
- ConfigurationManagerHelper.cs
- EventInfo.cs
- ThreadStaticAttribute.cs
- SqlUtils.cs
- XsdCachingReader.cs
- MsmqAppDomainProtocolHandler.cs
- ApplicationFileCodeDomTreeGenerator.cs
- XmlRootAttribute.cs
- XPathArrayIterator.cs
- GradientSpreadMethodValidation.cs
- SystemSounds.cs
- FileNotFoundException.cs
- path.cs
- WrappedIUnknown.cs
- FixedTextBuilder.cs
- RegexStringValidatorAttribute.cs
- ToolStripGrip.cs
- AttributeCollection.cs
- InvokePattern.cs
- xamlnodes.cs
- ProcessProtocolHandler.cs
- ControlCommandSet.cs
- PointCollectionValueSerializer.cs
- SizeChangedInfo.cs
- basemetadatamappingvisitor.cs
- FocusTracker.cs
- DataGridViewCellMouseEventArgs.cs