Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UrlMappingsModule.cs / 1 / UrlMappingsModule.cs
namespace System.Web { using System; using System.Web; using System.Web.Util; using System.Web.Configuration; // // Module that implements the UrlMappings functionality // on IIS 7 in integrated mode, this takes the place of // the UrlMappings execution step and is listed insealed internal class UrlMappingsModule : IHttpModule { internal UrlMappingsModule() {} public void Init(HttpApplication application) { bool urlMappingsEnabled = false; UrlMappingsSection urlMappings = RuntimeConfig.GetConfig().UrlMappings; urlMappingsEnabled = urlMappings.IsEnabled && ( urlMappings.UrlMappings.Count > 0 ); if (urlMappingsEnabled) { application.BeginRequest += new EventHandler(OnEnter); } } public void Dispose() {} internal void OnEnter(Object source, EventArgs eventArgs) { HttpApplication app = (HttpApplication) source; UrlMappingsSection urlMappings = RuntimeConfig.GetAppConfig().UrlMappings; // First check RawUrl string mappedUrl = urlMappings.HttpResolveMapping(app.Request.RawUrl); // Check Path if not found if (mappedUrl == null) mappedUrl = urlMappings.HttpResolveMapping(app.Request.Path); if (!string.IsNullOrEmpty(mappedUrl)) //&& IsDifferentFromCurrentUrl(mappedUrl, app.Context)) app.Context.RewritePath(mappedUrl, false); } // private static bool IsDifferentFromCurrentUrl(string url, HttpContext context) // { // Uri absUri; // if (!Uri.TryCreate(url, UriKind.Absolute, out absUri)) // { // if (url.StartsWith("~/")) // url = UrlPath.Combine(context.Request.Path, url.Substring(2)); // if (!Uri.TryCreate(context.Request.Url, url, out absUri)) // return true; // } // return Uri.Compare(absUri, context.Request.Url, UriComponents.AbsoluteUri, UriFormat.UriEscaped, StringComparison.OrdinalIgnoreCase) != 0; // } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Web { using System; using System.Web; using System.Web.Util; using System.Web.Configuration; // // Module that implements the UrlMappings functionality // on IIS 7 in integrated mode, this takes the place of // the UrlMappings execution step and is listed in sealed internal class UrlMappingsModule : IHttpModule { internal UrlMappingsModule() {} public void Init(HttpApplication application) { bool urlMappingsEnabled = false; UrlMappingsSection urlMappings = RuntimeConfig.GetConfig().UrlMappings; urlMappingsEnabled = urlMappings.IsEnabled && ( urlMappings.UrlMappings.Count > 0 ); if (urlMappingsEnabled) { application.BeginRequest += new EventHandler(OnEnter); } } public void Dispose() {} internal void OnEnter(Object source, EventArgs eventArgs) { HttpApplication app = (HttpApplication) source; UrlMappingsSection urlMappings = RuntimeConfig.GetAppConfig().UrlMappings; // First check RawUrl string mappedUrl = urlMappings.HttpResolveMapping(app.Request.RawUrl); // Check Path if not found if (mappedUrl == null) mappedUrl = urlMappings.HttpResolveMapping(app.Request.Path); if (!string.IsNullOrEmpty(mappedUrl)) //&& IsDifferentFromCurrentUrl(mappedUrl, app.Context)) app.Context.RewritePath(mappedUrl, false); } // private static bool IsDifferentFromCurrentUrl(string url, HttpContext context) // { // Uri absUri; // if (!Uri.TryCreate(url, UriKind.Absolute, out absUri)) // { // if (url.StartsWith("~/")) // url = UrlPath.Combine(context.Request.Path, url.Substring(2)); // if (!Uri.TryCreate(context.Request.Url, url, out absUri)) // return true; // } // return Uri.Compare(absUri, context.Request.Url, UriComponents.AbsoluteUri, UriFormat.UriEscaped, StringComparison.OrdinalIgnoreCase) != 0; // } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataServiceQueryOfT.cs
- LayoutInformation.cs
- DecodeHelper.cs
- DeferrableContent.cs
- SqlCacheDependencyDatabase.cs
- XamlDesignerSerializationManager.cs
- XmlSchemaObjectCollection.cs
- DefinitionBase.cs
- ImportCatalogPart.cs
- WhileDesigner.xaml.cs
- ValueChangedEventManager.cs
- datacache.cs
- JpegBitmapDecoder.cs
- loginstatus.cs
- OwnerDrawPropertyBag.cs
- RemotingConfigParser.cs
- FtpWebResponse.cs
- MessageVersionConverter.cs
- EndpointConfigContainer.cs
- Accessible.cs
- FileDialog_Vista.cs
- SerializerProvider.cs
- TypeToStringValueConverter.cs
- SpotLight.cs
- SecurityChannelListener.cs
- DllNotFoundException.cs
- WindowsBrush.cs
- Timeline.cs
- HotSpotCollection.cs
- CheckedListBox.cs
- SafeMarshalContext.cs
- PeerTransportBindingElement.cs
- MetafileHeaderWmf.cs
- StreamUpgradeBindingElement.cs
- ObjectDataSourceEventArgs.cs
- DataListCommandEventArgs.cs
- ItemsChangedEventArgs.cs
- StringPropertyBuilder.cs
- LinearGradientBrush.cs
- _NegotiateClient.cs
- GridViewSortEventArgs.cs
- WebContext.cs
- ModelVisual3D.cs
- OrderedDictionary.cs
- Merger.cs
- OperationContractAttribute.cs
- FixedSOMContainer.cs
- ExpressionParser.cs
- XmlSchemaSequence.cs
- DiagnosticEventProvider.cs
- StylusPointDescription.cs
- RegexBoyerMoore.cs
- CodeAttributeDeclarationCollection.cs
- CompositeScriptReference.cs
- ScrollBar.cs
- TiffBitmapDecoder.cs
- TreeNodeEventArgs.cs
- FileDialog.cs
- BitmapDownload.cs
- EntityModelBuildProvider.cs
- HebrewCalendar.cs
- LiteralSubsegment.cs
- SessionState.cs
- ColorContext.cs
- ValueTypeIndexerReference.cs
- DataObjectPastingEventArgs.cs
- ReachSerializerAsync.cs
- ZipFileInfoCollection.cs
- RequestValidator.cs
- XmlSchemaSubstitutionGroup.cs
- MetafileHeader.cs
- TreeNodeConverter.cs
- SimpleApplicationHost.cs
- OutputCacheProfile.cs
- Hash.cs
- ContextProperty.cs
- AddressHeader.cs
- HttpConfigurationContext.cs
- DataColumn.cs
- ModuleConfigurationInfo.cs
- ProfileProvider.cs
- VerticalAlignConverter.cs
- safex509handles.cs
- SoapFormatExtensions.cs
- TTSVoice.cs
- SchemaImporter.cs
- CanonicalXml.cs
- ConfigUtil.cs
- GetPageNumberCompletedEventArgs.cs
- SimpleHandlerFactory.cs
- XmlHierarchicalEnumerable.cs
- LabelEditEvent.cs
- EventLogConfiguration.cs
- SerializationEventsCache.cs
- StdValidatorsAndConverters.cs
- ByteAnimation.cs
- TrackingStringDictionary.cs
- ContainerFilterService.cs
- StaticSiteMapProvider.cs
- NotCondition.cs