Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / BaseParser.cs / 1471291 / BaseParser.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Implements the ASP.NET template parser * * Copyright (c) 1998 Microsoft Corporation */ /********************************* Class hierarchy BaseParser DependencyParser TemplateControlDependencyParser PageDependencyParser UserControlDependencyParser MasterPageDependencyParser TemplateParser BaseTemplateParser TemplateControlParser PageParser UserControlParser MasterPageParser PageThemeParser ApplicationFileParser **********************************/ namespace System.Web.UI { using System; using System.Collections; using System.Reflection; using System.Web.Compilation; using System.Web.Hosting; using System.Web.Util; using System.Text.RegularExpressions; using System.Web.RegularExpressions; using System.Security.Permissions; // Internal interface for Parser that have exteranl assembly dependency. internal interface IAssemblyDependencyParser { ICollection AssemblyDependencies { get; } } ////// public class BaseParser { // The directory used for relative path calculations private VirtualPath _baseVirtualDir; internal VirtualPath BaseVirtualDir { get { return _baseVirtualDir; } } // The virtual path to the file currently being processed private VirtualPath _currentVirtualPath; internal VirtualPath CurrentVirtualPath { get { return _currentVirtualPath; } set { _currentVirtualPath = value; // Can happen in the designer if (value == null) return; _baseVirtualDir = value.Parent; } } internal string CurrentVirtualPathString { get { return System.Web.VirtualPath.GetVirtualPathString(CurrentVirtualPath); } } private Regex _tagRegex; // The 3.5 regex is used only when targeting 2.0/3.5 for backward compatibility (Dev10 bug 830783). private readonly static Regex tagRegex35 = new TagRegex35(); // The 4.0 regex is used for web sites targeting 4.0 and above. private readonly static Regex tagRegex40 = new TagRegex(); internal readonly static Regex directiveRegex = new DirectiveRegex(); internal readonly static Regex endtagRegex = new EndTagRegex(); internal readonly static Regex aspCodeRegex = new AspCodeRegex(); internal readonly static Regex aspExprRegex = new AspExprRegex(); internal readonly static Regex aspEncodedExprRegex = new AspEncodedExprRegex(); internal readonly static Regex databindExprRegex = new DatabindExprRegex(); internal readonly static Regex commentRegex = new CommentRegex(); internal readonly static Regex includeRegex = new IncludeRegex(); internal readonly static Regex textRegex = new TextRegex(); // Regexes used in DetectSpecialServerTagError internal readonly static Regex gtRegex = new GTRegex(); internal readonly static Regex ltRegex = new LTRegex(); internal readonly static Regex serverTagsRegex = new ServerTagsRegex(); internal readonly static Regex runatServerRegex = new RunatServerRegex(); /* * Turns relative virtual path into absolute ones */ internal VirtualPath ResolveVirtualPath(VirtualPath virtualPath) { return VirtualPathProvider.CombineVirtualPathsInternal(CurrentVirtualPath, virtualPath); } private bool IsVersion40OrAbove() { if (HostingEnvironment.IsHosted) { // If we are running in a hosted environment, then we can simply check the target version. return MultiTargetingUtil.IsTargetFramework40OrAbove; } else { // Otherwise, we are in the designer, and thus should check using the type description provider. // The new type TagRegex35 only exists when targeting 4.0 and above. return TargetFrameworkUtil.IsSupportedType(typeof(TagRegex35)); } } internal Regex TagRegex { get { if (_tagRegex == null) { _tagRegex = IsVersion40OrAbove() ? tagRegex40 : tagRegex35; } return _tagRegex; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RepeatInfo.cs
- LayoutTableCell.cs
- WebPartExportVerb.cs
- PerformanceCounterManager.cs
- Object.cs
- Header.cs
- CatalogZoneBase.cs
- TraceUtils.cs
- HtmlTitle.cs
- DocumentSchemaValidator.cs
- PathFigureCollection.cs
- EntityKey.cs
- PagesSection.cs
- BroadcastEventHelper.cs
- RandomNumberGenerator.cs
- BitmapEffectGeneralTransform.cs
- DirectoryObjectSecurity.cs
- X509Chain.cs
- SQLChars.cs
- PersonalizableAttribute.cs
- DataGridTextColumn.cs
- DbConnectionOptions.cs
- FormViewDeletedEventArgs.cs
- XmlResolver.cs
- XmlILStorageConverter.cs
- SourceLineInfo.cs
- SqlMethodCallConverter.cs
- DataTableCollection.cs
- SqlFormatter.cs
- ProjectedSlot.cs
- Camera.cs
- FontFamilyConverter.cs
- SignatureToken.cs
- StorageMappingItemLoader.cs
- IdentityElement.cs
- CategoryGridEntry.cs
- _SafeNetHandles.cs
- FontConverter.cs
- CustomError.cs
- TextTreeRootTextBlock.cs
- AvTraceFormat.cs
- PathFigure.cs
- MessagingActivityHelper.cs
- AxImporter.cs
- CrossAppDomainChannel.cs
- RelatedPropertyManager.cs
- MethodBuilderInstantiation.cs
- UIElementParagraph.cs
- ServiceDeploymentInfo.cs
- CannotUnloadAppDomainException.cs
- DocumentXPathNavigator.cs
- HttpProfileBase.cs
- Run.cs
- CompositeDataBoundControl.cs
- NameTable.cs
- FileLogRecordHeader.cs
- ContainerActivationHelper.cs
- CustomPopupPlacement.cs
- WebDescriptionAttribute.cs
- DragDeltaEventArgs.cs
- WmlPhoneCallAdapter.cs
- BreakRecordTable.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- _SSPISessionCache.cs
- ConfigurationPropertyCollection.cs
- AsyncPostBackTrigger.cs
- keycontainerpermission.cs
- ContextStaticAttribute.cs
- ApplicationGesture.cs
- SqlDataSourceView.cs
- BuildResultCache.cs
- AttributeEmitter.cs
- NamespaceQuery.cs
- RbTree.cs
- SmtpAuthenticationManager.cs
- Membership.cs
- ControlAdapter.cs
- MarkedHighlightComponent.cs
- EnvironmentPermission.cs
- HandlerFactoryWrapper.cs
- EventLogPermissionHolder.cs
- LinkClickEvent.cs
- XmlProcessingInstruction.cs
- GenericQueueSurrogate.cs
- ImageButton.cs
- GlyphingCache.cs
- StrokeNodeEnumerator.cs
- XmlILAnnotation.cs
- followingsibling.cs
- XmlReader.cs
- ReaderWriterLock.cs
- MobileErrorInfo.cs
- RegexCharClass.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- LinqDataSourceDeleteEventArgs.cs
- StrongNameMembershipCondition.cs
- TemplatePagerField.cs
- DataGridItemEventArgs.cs
- SkinBuilder.cs
- DataObject.cs