The EPiServer.Web namespace contains ASP.NET specific parts of the EPiServer platform. If closely mirrors the System.Web namespace.


Rewrite HTML URI:s in streams and strings.
The UrlRewriteProvider that hanldes rewriting of urls.
Arguments for various events raised by the HTML rewriter-parser
Parses a HTML source stream and raise appropriate events enabling rewriting and modification.
Use a local derivation to get access to protected accessors
Associate a string HTML element name with noteworthy attributes and the element type from the SpecialElementTypes enumeration
Use this as a Response.Filter-filter. It will parse outgoing HTML and find links to the site and transform them to friendly urls and/or language-specifying urls according to what was done during the rewriting of the original request. It is dependent on information in Context.Item-collection to determine just how the rewriting is to occur. This is set by UrlRewriteModule normally.
Abstract base class for URL-rewriting of URIs in streams and strings.
Handles mapping from an extension to a mime type.
Represents a stream used when no rewriting is specified
A RewriteProvider that does no actual rewrite but raises the corresponding events during parsing.
Class that holds information about SiteUrl and UrlRewriteExtension for a mapped page link.
A base class EPiServer.Web.PermanentLinkMap provides the basic mapping between a System.Guid and a UriKind.Relative System.Uri (the MappedUrl). An PermanentLinkMap has an permanent property which is a System.Guid, and one or more mapped properties that it maps to. The mapped properties may change, the immutable must never change. Mapping is provided by instantiating an instance via a store lookup, and providing an appropriate parameter. There are derived classes, PermanentPageLinkMap and PermanentFileLinkMap, representing the two different kinds of links supported. There's an PermanentLinkMapStore class which given a System.Guid or a System.Uri can get an PermanentXXXLinkMap instance, or null if not found. Mapped defining property for PermanentPageLinkMap is a PageReference. Mapped defining property for PermanentFileLinkMap is a string (virtualPath). The PermanentLinkMap instances should be considered as a required and persisted representation. This means that any time a new PermanentLinkMap is created in the system an PermanentXXXLinkMap object must be constructed (this is the only way to get the permanent Uri anyway), and any time an existing PermanentLinkMap has a mapped defining property changed, the corresponding property must be 'set' to enable persistance (actually to enable cache coherence).
Given an permanent link representation, find an appropriate mapping object instance if possible
Utility functions for the permanent link functionality
Handles conversion between permanent links and classic links for page links.
Exposes events that are fired during HTML parsing.
Replacement for System.Web.DefaultHttpHandler to: a) always use Response.TransmitFile() if resource is handled by "our" VPP's AND resource is a local available file b) allow control over Cache expiration (default Asp.Net 2.0 behavior in IIS 6 is to let browsers cache the file for 24hrs)
Rewrite links for postback responses for UpdatePanel.
Common event arguments for Url rewriting, both with and without context
Implements UrlSegment-based URL rewriting. In EPiServer4 similar functionality was implemented by FriendlyUrlModule, ExternalUrlModule and SpiderSupport along with functions in PropertyLongString and PropertyUrl et. al. The functions of ExternalUrlModule is taken over by the built-in ASP.NET 2.0 UrlMappingCollection and the urlMappings configuration section in Web.config. SpiderSupport implemented various functionality, including: - Shadow folders, where a folder suffixed by _ could take precedence over the standard. This is replaced by a configurable Virtual Path Provider. - Edit/Admin port restriction enforcement - this is moved to Edit/Admin. - css/js template-based fixup - this is no longer necessary due to rearchitecting for 2.0 FriendlyUrlModule handled redirection for various reasons as well as rewriting for friendly url:s. This functionality is taken over by UrlRewriteModule along with a Response.Filter stream-filter named UrlRewriteFilter which will fixup outgoing HTML to use the proper form for urls, thus taking over the function of the corresponding code in PageBase and the PropertyXXX-classes. PageBase handled redirection to friendly url's if an old-style url was used, this is now handled here. All EPiServer code behind UrlRewriteModule/UrlRewriteFilter will assume and depend on only using url's with query-string parameters identifying the page and the language (i.e. id=, epslanguage=). This specialization of the UrlRewriteModuleBase implements the EPiServer default scheme for mapping from and to UrlSegment-based URL's, but can be replaced transparently with any other consistent and correct mapping.
Responsible for raising appropriate events for mapping between internal and external formats of the request URLs. Will parse outgoing HTML, and incoming and outgoing special urls and parameter strings, raising the appropriate events implemented by the implementation derived classes. It is this modules responsibility to identify all necessary urls for rewriting in one or the other direction. The descendant class must provide the actual rewriting functionality.
Provide basic URL rewrite functionality, mapping to and from an internal format. The mapping performed is context-free in the sense that it just maps from internal or to internal, it does not rebase relative URLs dependning on the internal and external requesting context URL.
This class determines behavior for URL Segments, intended to be used by the UrlRewriter functionality. Please see the remarks section for the details of the rules of the implementation, since this is where we implement behavior concerning: - Language selection via URL (by /prefix/ and by host-name) - Handling of StartPage-rules - Enterprise mode mapping of start pages - Rootpage fallback etc
Used in events CreatingUrlSegment and CreatedUrlSegment. Usage is to let eventhandlers control the creation of UrlSegment for a page.


Collection of performance counters
URL context, used to provide the context for rebasing


Interface used by PermanentLinkMapStore to resolve a page




An element types enumeration for the types recognized by this parser
Indicate search order when resolving a permanent link / GUID into a mapped representation