Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Util / ProviderUtil.cs / 1305376 / ProviderUtil.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Sec * * Copyright (c) 1998-1999, Microsoft Corporation * */ namespace System.Web.Util { using System.Collections.Specialized; using System.Web.Mail; using System.Configuration; using System.Globalization; internal static class ProviderUtil { internal const int Infinite = Int32.MaxValue; internal static void GetAndRemoveStringAttribute(NameValueCollection config, string attrib, string providerName, ref string val) { val = config.Get(attrib); config.Remove(attrib); } internal static void GetAndRemovePositiveAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { GetPositiveAttribute(config, attrib, providerName, ref val); config.Remove(attrib); } internal static void GetPositiveAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { string s = config.Get(attrib); int t; if (s == null) { return; } try { t = Convert.ToInt32(s, CultureInfo.InvariantCulture); } catch (Exception e){ if (e is ArgumentException || e is FormatException || e is OverflowException) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_positive_attributes, attrib, providerName)); } else { throw; } } if (t < 0) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_positive_attributes, attrib, providerName)); } val = t; } internal static void GetAndRemovePositiveOrInfiniteAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { GetPositiveOrInfiniteAttribute(config, attrib, providerName, ref val); config.Remove(attrib); } internal static void GetPositiveOrInfiniteAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { string s = config.Get(attrib); int t; if (s == null) { return; } if (s == "Infinite") { t = ProviderUtil.Infinite; } else { try { t = Convert.ToInt32(s, CultureInfo.InvariantCulture); } catch (Exception e){ if (e is ArgumentException || e is FormatException || e is OverflowException) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_positive_attributes, attrib, providerName)); } else { throw; } } if (t < 0) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_positive_attributes, attrib, providerName)); } } val = t; } internal static void GetAndRemoveNonZeroPositiveOrInfiniteAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { GetNonZeroPositiveOrInfiniteAttribute(config, attrib, providerName, ref val); config.Remove(attrib); } internal static void GetNonZeroPositiveOrInfiniteAttribute(NameValueCollection config, string attrib, string providerName, ref int val) { string s = config.Get(attrib); int t; if (s == null) { return; } if (s == "Infinite") { t = ProviderUtil.Infinite; } else { try { t = Convert.ToInt32(s, CultureInfo.InvariantCulture); } catch (Exception e){ if (e is ArgumentException || e is FormatException || e is OverflowException) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_non_zero_positive_attributes, attrib, providerName)); } else { throw; } } if (t <= 0) { throw new ConfigurationErrorsException( SR.GetString(SR.Invalid_provider_non_zero_positive_attributes, attrib, providerName)); } } val = t; } internal static void GetAndRemoveBooleanAttribute(NameValueCollection config, string attrib, string providerName, ref bool val) { GetBooleanAttribute(config, attrib, providerName, ref val); config.Remove(attrib); } internal static void GetBooleanAttribute(NameValueCollection config, string attrib, string providerName, ref bool val) { string s = config.Get(attrib); if (s == null) { return; } if (s == "true") { val = true; } else if (s == "false") { val = false; } else { throw new ConfigurationErrorsException(SR.GetString(SR.Invalid_provider_attribute, attrib, providerName, s)); } } internal static void GetAndRemoveRequiredNonEmptyStringAttribute(NameValueCollection config, string attrib, string providerName, ref string val) { GetRequiredNonEmptyStringAttribute(config, attrib, providerName, ref val); config.Remove(attrib); } internal static void GetRequiredNonEmptyStringAttribute(NameValueCollection config, string attrib, string providerName, ref string val) { GetNonEmptyStringAttributeInternal(config, attrib, providerName, ref val, true); } private static void GetNonEmptyStringAttributeInternal(NameValueCollection config, string attrib, string providerName, ref string val, bool required) { string s = config.Get(attrib); // If it's (null and required) -OR- (empty string) we throw if ((s == null && required) || (s.Length == 0)) { throw new ConfigurationErrorsException( SR.GetString(SR.Provider_missing_attribute, attrib, providerName)); } val = s; } internal static void CheckUnrecognizedAttributes(NameValueCollection config, string providerName) { if (config.Count > 0) { string attribUnrecognized = config.GetKey(0); if (!String.IsNullOrEmpty(attribUnrecognized)) throw new ConfigurationErrorsException( SR.GetString(SR.Unexpected_provider_attribute, attribUnrecognized, providerName)); } } } } // 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
- SourceFileBuildProvider.cs
- SpecialFolderEnumConverter.cs
- Process.cs
- FixedMaxHeap.cs
- FixedNode.cs
- HttpCapabilitiesSectionHandler.cs
- TableParaClient.cs
- HtmlElementCollection.cs
- DashStyle.cs
- PackageDigitalSignature.cs
- BasicHttpSecurityMode.cs
- HostingEnvironmentException.cs
- LexicalChunk.cs
- ApplicationSecurityInfo.cs
- ConfigXmlComment.cs
- VariableElement.cs
- ApplicationProxyInternal.cs
- Double.cs
- OleAutBinder.cs
- ADRoleFactory.cs
- DecoderExceptionFallback.cs
- LabelDesigner.cs
- ImmutableObjectAttribute.cs
- MouseEvent.cs
- PeerNameResolver.cs
- SessionParameter.cs
- ContextItemManager.cs
- EventSinkActivityDesigner.cs
- MessageDecoder.cs
- DbExpressionVisitor.cs
- Size3D.cs
- DictionaryBase.cs
- __FastResourceComparer.cs
- TextTreeInsertElementUndoUnit.cs
- Aggregates.cs
- FlowSwitch.cs
- TextBox.cs
- Parser.cs
- CustomLineCap.cs
- DataServiceStreamResponse.cs
- connectionpool.cs
- _Events.cs
- InheritanceContextChangedEventManager.cs
- WebControlParameterProxy.cs
- StoryFragments.cs
- InternalControlCollection.cs
- ObjectContext.cs
- GenericUriParser.cs
- FileSystemEventArgs.cs
- LinqDataSourceUpdateEventArgs.cs
- _SSPIWrapper.cs
- ParameterToken.cs
- ColorConvertedBitmap.cs
- XmlSubtreeReader.cs
- Base64Encoding.cs
- XmlSchemaObjectCollection.cs
- DataServiceCollectionOfT.cs
- FigureParaClient.cs
- RtfToXamlReader.cs
- DropAnimation.xaml.cs
- DateBoldEvent.cs
- DeclarativeCatalogPart.cs
- FrameworkTemplate.cs
- HtmlControl.cs
- PropertyKey.cs
- SecureUICommand.cs
- CodeDirectiveCollection.cs
- ToolStripSplitStackLayout.cs
- DateTimeHelper.cs
- PartEditor.cs
- documentsequencetextpointer.cs
- ImageList.cs
- SqlWebEventProvider.cs
- Opcode.cs
- OdbcConnectionFactory.cs
- PointLight.cs
- ScriptIgnoreAttribute.cs
- RoleManagerEventArgs.cs
- EastAsianLunisolarCalendar.cs
- ValueProviderWrapper.cs
- basemetadatamappingvisitor.cs
- URI.cs
- MSAAEventDispatcher.cs
- ListItemsCollectionEditor.cs
- TextParagraphProperties.cs
- DataGridViewTextBoxCell.cs
- KeyPressEvent.cs
- BevelBitmapEffect.cs
- BatchParser.cs
- NamedPipeConnectionPoolSettingsElement.cs
- MSHTMLHost.cs
- MouseEventArgs.cs
- TreeNode.cs
- CommonDialog.cs
- WinFormsSpinner.cs
- TargetConverter.cs
- ParameterModifier.cs
- GlobalizationSection.cs
- RadioButton.cs
- ListenerBinder.cs