Code:
/ 4.0 / 4.0 / 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.] ///// 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
- ShaperBuffers.cs
- WizardStepBase.cs
- Wildcard.cs
- SelectedCellsChangedEventArgs.cs
- ParameterSubsegment.cs
- WbmpConverter.cs
- SmiSettersStream.cs
- CodeAccessSecurityEngine.cs
- ToolStripPanelSelectionBehavior.cs
- HttpContext.cs
- SchemaTableColumn.cs
- RectangleGeometry.cs
- LongValidatorAttribute.cs
- PointCollectionValueSerializer.cs
- StickyNoteAnnotations.cs
- SystemIPGlobalProperties.cs
- MimeWriter.cs
- BitConverter.cs
- HierarchicalDataBoundControl.cs
- XmlSchemaSet.cs
- Point3DCollection.cs
- InputReportEventArgs.cs
- UnmanagedMemoryStreamWrapper.cs
- latinshape.cs
- RawStylusInputReport.cs
- ItemList.cs
- ReferentialConstraint.cs
- JpegBitmapDecoder.cs
- GridViewUpdateEventArgs.cs
- CapabilitiesAssignment.cs
- SafeNativeMethods.cs
- DataObjectFieldAttribute.cs
- DispatcherEventArgs.cs
- Baml2006ReaderFrame.cs
- TextServicesManager.cs
- RIPEMD160.cs
- Sorting.cs
- FontFamilyValueSerializer.cs
- JavaScriptString.cs
- _emptywebproxy.cs
- Evaluator.cs
- InputLanguageEventArgs.cs
- IODescriptionAttribute.cs
- RepeaterDataBoundAdapter.cs
- Method.cs
- EntityConnectionStringBuilderItem.cs
- Clock.cs
- FormattedTextSymbols.cs
- ReadOnlyDictionary.cs
- SolidBrush.cs
- WebProxyScriptElement.cs
- QuaternionAnimationBase.cs
- CollectionTraceRecord.cs
- FigureParaClient.cs
- CatalogZoneDesigner.cs
- Roles.cs
- TransformerInfo.cs
- BitmapEffect.cs
- HitTestDrawingContextWalker.cs
- RolePrincipal.cs
- wgx_sdk_version.cs
- FactoryMaker.cs
- ButtonField.cs
- LinkUtilities.cs
- EllipticalNodeOperations.cs
- streamingZipPartStream.cs
- FactoryRecord.cs
- StreamReader.cs
- TextSegment.cs
- PeerEndPoint.cs
- WSDualHttpSecurity.cs
- XmlNullResolver.cs
- DATA_BLOB.cs
- Page.cs
- ClassData.cs
- WindowsListViewGroupHelper.cs
- EmptyReadOnlyDictionaryInternal.cs
- HandlerBase.cs
- Label.cs
- CompiledRegexRunnerFactory.cs
- CurrentTimeZone.cs
- XmlSchemaSimpleType.cs
- RemoteEndpointMessageProperty.cs
- XmlIncludeAttribute.cs
- InheritablePropertyChangeInfo.cs
- VariableValue.cs
- TransactionFilter.cs
- HttpWrapper.cs
- SqlClientWrapperSmiStream.cs
- WindowsRegion.cs
- SignedPkcs7.cs
- SemanticBasicElement.cs
- ASCIIEncoding.cs
- Missing.cs
- TargetControlTypeAttribute.cs
- PolygonHotSpot.cs
- ReverseQueryOperator.cs
- KnownIds.cs
- ToolBar.cs
- ForEachAction.cs