Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Web / System / Web / Services / Configuration / WsdlHelpGeneratorElement.cs / 1305376 / WsdlHelpGeneratorElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Web.Services.Configuration { using System; using System.Configuration; using System.IO; using System.Security.Permissions; using System.Threading; using System.Web.Configuration; using System.Web.Hosting; using System.Xml; using System.Runtime.CompilerServices; public sealed class WsdlHelpGeneratorElement : ConfigurationElement { // These three constructors are used by the configuration system. public WsdlHelpGeneratorElement() : base() { this.properties.Add(this.href); } [FileIOPermission(SecurityAction.Assert, Unrestricted = true)] string GetConfigurationDirectory() { return HttpRuntime.MachineConfigurationDirectory; } internal string HelpGeneratorVirtualPath { get { return this.virtualPath + this.Href; } } internal string HelpGeneratorPath { get { return Path.Combine(this.actualPath, this.Href); } } [ConfigurationProperty("href", IsRequired = true)] public string Href { get { return (string)base[this.href]; } set { if (value == null) { value = string.Empty; } if (this.needToValidateHref && value.Length > 0) { CheckIOReadPermission(this.actualPath, value); } base[this.href] = value; } } protected override ConfigurationPropertyCollection Properties { get { return this.properties; } } protected override void DeserializeElement(XmlReader reader, bool serializeCollectionKey) { base.DeserializeElement(reader, serializeCollectionKey); // Update paths // If we're not running in the context of a web application then skip this setting. ContextInformation context = this.EvaluationContext; WebContext webContext = context.HostingContext as WebContext; if (webContext == null) { return; } if (this.Href.Length == 0) return; string tempVirtualPath = webContext.Path; string path = null; // If the help page is not in the web app directory hierarchy (the case // for those specified in machine.config like DefaultWsdlHelpGenerator.aspx) // then we can't construct a true virtual path. This means that certain web // form features that rely on relative paths won't work. if (tempVirtualPath == null) { tempVirtualPath = HostingEnvironment.ApplicationVirtualPath; if (tempVirtualPath == null) tempVirtualPath = ""; path = GetConfigurationDirectory(); } else { path = HostingEnvironment.MapPath(tempVirtualPath); } if (!tempVirtualPath.EndsWith("/", StringComparison.Ordinal)) { tempVirtualPath += "/"; } CheckIOReadPermission(path, this.Href); this.actualPath = path; this.virtualPath = tempVirtualPath; this.needToValidateHref = true; } protected override void Reset(ConfigurationElement parentElement) { WsdlHelpGeneratorElement parent = (WsdlHelpGeneratorElement)parentElement; ContextInformation context = this.EvaluationContext; WebContext webContext = context.HostingContext as WebContext; if (webContext != null) { string tempVirtualPath = webContext.Path; bool isMachineConfig = tempVirtualPath == null; this.actualPath = parent.actualPath; if (isMachineConfig) { tempVirtualPath = HostingEnvironment.ApplicationVirtualPath; } if ((tempVirtualPath != null) && !tempVirtualPath.EndsWith("/", StringComparison.Ordinal)) { tempVirtualPath += "/"; } if ((tempVirtualPath == null) && (parentElement != null)) { this.virtualPath = parent.virtualPath; } else if (tempVirtualPath != null) { this.virtualPath = tempVirtualPath; } } base.Reset(parentElement); } [MethodImplAttribute(MethodImplOptions.NoInlining)] internal void SetDefaults() { HttpContext context = HttpContext.Current; if (context != null) { this.virtualPath = HostingEnvironment.ApplicationVirtualPath; } this.actualPath = this.GetConfigurationDirectory(); if ((this.virtualPath != null) && (!this.virtualPath.EndsWith("/", StringComparison.Ordinal))) { this.virtualPath += "/"; } if ((this.actualPath != null) && (!this.actualPath.EndsWith(@"\", StringComparison.Ordinal))) { this.actualPath += "\\"; } this.Href = "DefaultWsdlHelpGenerator.aspx"; CheckIOReadPermission(this.actualPath, this.Href); this.needToValidateHref = true; } static void CheckIOReadPermission(string path, string file) { if (path == null) return; string fullPath = Path.GetFullPath(Path.Combine(path, file)); new FileIOPermission(FileIOPermissionAccess.Read, fullPath).Demand(); } ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); readonly ConfigurationProperty href = new ConfigurationProperty("href", typeof(string), null, ConfigurationPropertyOptions.IsRequired); string virtualPath = null; string actualPath = null; bool needToValidateHref = false; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Web.Services.Configuration { using System; using System.Configuration; using System.IO; using System.Security.Permissions; using System.Threading; using System.Web.Configuration; using System.Web.Hosting; using System.Xml; using System.Runtime.CompilerServices; public sealed class WsdlHelpGeneratorElement : ConfigurationElement { // These three constructors are used by the configuration system. public WsdlHelpGeneratorElement() : base() { this.properties.Add(this.href); } [FileIOPermission(SecurityAction.Assert, Unrestricted = true)] string GetConfigurationDirectory() { return HttpRuntime.MachineConfigurationDirectory; } internal string HelpGeneratorVirtualPath { get { return this.virtualPath + this.Href; } } internal string HelpGeneratorPath { get { return Path.Combine(this.actualPath, this.Href); } } [ConfigurationProperty("href", IsRequired = true)] public string Href { get { return (string)base[this.href]; } set { if (value == null) { value = string.Empty; } if (this.needToValidateHref && value.Length > 0) { CheckIOReadPermission(this.actualPath, value); } base[this.href] = value; } } protected override ConfigurationPropertyCollection Properties { get { return this.properties; } } protected override void DeserializeElement(XmlReader reader, bool serializeCollectionKey) { base.DeserializeElement(reader, serializeCollectionKey); // Update paths // If we're not running in the context of a web application then skip this setting. ContextInformation context = this.EvaluationContext; WebContext webContext = context.HostingContext as WebContext; if (webContext == null) { return; } if (this.Href.Length == 0) return; string tempVirtualPath = webContext.Path; string path = null; // If the help page is not in the web app directory hierarchy (the case // for those specified in machine.config like DefaultWsdlHelpGenerator.aspx) // then we can't construct a true virtual path. This means that certain web // form features that rely on relative paths won't work. if (tempVirtualPath == null) { tempVirtualPath = HostingEnvironment.ApplicationVirtualPath; if (tempVirtualPath == null) tempVirtualPath = ""; path = GetConfigurationDirectory(); } else { path = HostingEnvironment.MapPath(tempVirtualPath); } if (!tempVirtualPath.EndsWith("/", StringComparison.Ordinal)) { tempVirtualPath += "/"; } CheckIOReadPermission(path, this.Href); this.actualPath = path; this.virtualPath = tempVirtualPath; this.needToValidateHref = true; } protected override void Reset(ConfigurationElement parentElement) { WsdlHelpGeneratorElement parent = (WsdlHelpGeneratorElement)parentElement; ContextInformation context = this.EvaluationContext; WebContext webContext = context.HostingContext as WebContext; if (webContext != null) { string tempVirtualPath = webContext.Path; bool isMachineConfig = tempVirtualPath == null; this.actualPath = parent.actualPath; if (isMachineConfig) { tempVirtualPath = HostingEnvironment.ApplicationVirtualPath; } if ((tempVirtualPath != null) && !tempVirtualPath.EndsWith("/", StringComparison.Ordinal)) { tempVirtualPath += "/"; } if ((tempVirtualPath == null) && (parentElement != null)) { this.virtualPath = parent.virtualPath; } else if (tempVirtualPath != null) { this.virtualPath = tempVirtualPath; } } base.Reset(parentElement); } [MethodImplAttribute(MethodImplOptions.NoInlining)] internal void SetDefaults() { HttpContext context = HttpContext.Current; if (context != null) { this.virtualPath = HostingEnvironment.ApplicationVirtualPath; } this.actualPath = this.GetConfigurationDirectory(); if ((this.virtualPath != null) && (!this.virtualPath.EndsWith("/", StringComparison.Ordinal))) { this.virtualPath += "/"; } if ((this.actualPath != null) && (!this.actualPath.EndsWith(@"\", StringComparison.Ordinal))) { this.actualPath += "\\"; } this.Href = "DefaultWsdlHelpGenerator.aspx"; CheckIOReadPermission(this.actualPath, this.Href); this.needToValidateHref = true; } static void CheckIOReadPermission(string path, string file) { if (path == null) return; string fullPath = Path.GetFullPath(Path.Combine(path, file)); new FileIOPermission(FileIOPermissionAccess.Read, fullPath).Demand(); } ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); readonly ConfigurationProperty href = new ConfigurationProperty("href", typeof(string), null, ConfigurationPropertyOptions.IsRequired); string virtualPath = null; string actualPath = null; bool needToValidateHref = false; } } // 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
- TypeConverterMarkupExtension.cs
- WebEventCodes.cs
- DesignParameter.cs
- clipboard.cs
- EventMappingSettingsCollection.cs
- DataGridColumnHeader.cs
- BinaryCommonClasses.cs
- Rect.cs
- TdsParserSessionPool.cs
- ListViewSelectEventArgs.cs
- XamlFigureLengthSerializer.cs
- PathStreamGeometryContext.cs
- DecoderNLS.cs
- DataGridViewColumnEventArgs.cs
- PlatformCulture.cs
- XmlEnumAttribute.cs
- SQLMembershipProvider.cs
- QilTargetType.cs
- XmlUtilWriter.cs
- ObjectDataSourceFilteringEventArgs.cs
- ConfigsHelper.cs
- TableLayoutSettingsTypeConverter.cs
- UrlMappingCollection.cs
- CustomMenuItemCollection.cs
- X509UI.cs
- DynamicUpdateCommand.cs
- MemoryFailPoint.cs
- FlowDocumentFormatter.cs
- MustUnderstandBehavior.cs
- SecurityDescriptor.cs
- SingleObjectCollection.cs
- SoapProcessingBehavior.cs
- ImageInfo.cs
- OuterGlowBitmapEffect.cs
- WebEventTraceProvider.cs
- PeerNearMe.cs
- GeneratedContractType.cs
- WebRequestModuleElement.cs
- XmlSchemaGroup.cs
- _NestedSingleAsyncResult.cs
- SessionEndingCancelEventArgs.cs
- DataGridViewCellLinkedList.cs
- CodeDomSerializerBase.cs
- LinkedResourceCollection.cs
- CodeTypeDeclaration.cs
- DbConnectionFactory.cs
- StreamResourceInfo.cs
- AddInEnvironment.cs
- SessionIDManager.cs
- StrongTypingException.cs
- SqlXmlStorage.cs
- Condition.cs
- SortedList.cs
- ProtectedConfigurationProviderCollection.cs
- XsltCompileContext.cs
- DefaultPropertyAttribute.cs
- UniqueIdentifierService.cs
- RoutedEvent.cs
- UInt32Storage.cs
- MachineKeySection.cs
- CachingHintValidation.cs
- PreviewKeyDownEventArgs.cs
- XPathNodeIterator.cs
- RequestCachePolicy.cs
- HostedTransportConfigurationBase.cs
- OptimizerPatterns.cs
- CursorEditor.cs
- EndpointDiscoveryMetadata11.cs
- EmptyQuery.cs
- TypefaceMap.cs
- QueryInterceptorAttribute.cs
- ControlBuilderAttribute.cs
- SamlSubject.cs
- GlyphInfoList.cs
- DataGridViewAdvancedBorderStyle.cs
- CodeMemberEvent.cs
- MissingMethodException.cs
- LocalizableResourceBuilder.cs
- EndpointBehaviorElement.cs
- RtfToken.cs
- StreamResourceInfo.cs
- BuildResultCache.cs
- InstanceKeyCompleteException.cs
- EastAsianLunisolarCalendar.cs
- OdbcFactory.cs
- IIS7WorkerRequest.cs
- TextSearch.cs
- TransformValueSerializer.cs
- BaseDataBoundControl.cs
- PieceDirectory.cs
- Hashtable.cs
- XmlDataLoader.cs
- StorageAssociationTypeMapping.cs
- GridViewUpdateEventArgs.cs
- ProfileManager.cs
- Point3DAnimationUsingKeyFrames.cs
- PagesChangedEventArgs.cs
- PeerEndPoint.cs
- StateMachine.cs
- DockEditor.cs