Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Util / ProviderUtil.cs / 1 / 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); } #if UNUSED_CODE internal static void GetAndRemoveNonEmptyStringAttribute(NameValueCollection config, string attrib, string providerName, ref string val) { GetNonEmptyStringAttributeInternal(config, attrib, providerName, ref val, false); config.Remove(attrib); } #endif 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)); } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DBAsyncResult.cs
- RadioButtonRenderer.cs
- CustomPopupPlacement.cs
- GeneralTransform3D.cs
- AutoFocusStyle.xaml.cs
- TypeReference.cs
- EncoderBestFitFallback.cs
- Highlights.cs
- DesignerVerbCollection.cs
- InstancePersistenceContext.cs
- _ListenerRequestStream.cs
- AgileSafeNativeMemoryHandle.cs
- NullReferenceException.cs
- TextWriterTraceListener.cs
- MatrixConverter.cs
- BinHexEncoder.cs
- ProfileProvider.cs
- StreamReader.cs
- WebBrowser.cs
- StreamReader.cs
- BinHexDecoder.cs
- FileStream.cs
- EntityDataSourceChangedEventArgs.cs
- IdleTimeoutMonitor.cs
- XmlElementAttributes.cs
- XmlUTF8TextWriter.cs
- FindCriteriaApril2005.cs
- StylusPointPropertyId.cs
- DesignerLabelAdapter.cs
- InheritanceContextChangedEventManager.cs
- TemplateFactory.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- PasswordRecovery.cs
- EmptyQuery.cs
- AssertUtility.cs
- MDIControlStrip.cs
- DictionaryContent.cs
- SplineQuaternionKeyFrame.cs
- AvTraceDetails.cs
- ListViewCancelEventArgs.cs
- Propagator.Evaluator.cs
- SystemMulticastIPAddressInformation.cs
- Attributes.cs
- CancelRequestedRecord.cs
- SHA256.cs
- SchemaImporter.cs
- TreeNodeClickEventArgs.cs
- ChildTable.cs
- CounterSampleCalculator.cs
- HttpHeaderCollection.cs
- DatagramAdapter.cs
- Marshal.cs
- WpfWebRequestHelper.cs
- HttpListenerContext.cs
- WebMessageFormatHelper.cs
- SubMenuStyle.cs
- XhtmlStyleClass.cs
- ContextQuery.cs
- ConcurrentDictionary.cs
- PixelShader.cs
- InvalidDocumentContentsException.cs
- ResumeStoryboard.cs
- Merger.cs
- TogglePatternIdentifiers.cs
- ShaperBuffers.cs
- SHA384Cng.cs
- ReadOnlyPropertyMetadata.cs
- MessageBox.cs
- XmlNodeWriter.cs
- XmlSchemaInclude.cs
- ScopeCompiler.cs
- SQLByteStorage.cs
- ListControl.cs
- TimeSpan.cs
- MemberAccessException.cs
- DynamicResourceExtensionConverter.cs
- FastEncoderStatics.cs
- DataGridViewImageCell.cs
- Stroke2.cs
- ImageIndexConverter.cs
- PreservationFileReader.cs
- InvokeProviderWrapper.cs
- SecurityPermission.cs
- RegistryKey.cs
- FacetValues.cs
- DateTimeOffset.cs
- RuleSetCollection.cs
- ZipIOExtraFieldPaddingElement.cs
- AttributeQuery.cs
- FixedSOMImage.cs
- WsdlBuildProvider.cs
- ISAPIRuntime.cs
- XmlSchemaAll.cs
- Rect.cs
- Ticks.cs
- SendKeys.cs
- XmlHierarchyData.cs
- XmlUnspecifiedAttribute.cs
- Triangle.cs
- XmlAutoDetectWriter.cs