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
- XmlUtil.cs
- ThaiBuddhistCalendar.cs
- DeploymentSectionCache.cs
- HtmlTableRowCollection.cs
- MediaCommands.cs
- WebPartUtil.cs
- BuildManagerHost.cs
- MSAAWinEventWrap.cs
- IsolationInterop.cs
- ConfigXmlAttribute.cs
- FlowchartSizeFeature.cs
- ResourceWriter.cs
- ViewStateAttachedPropertyFeature.cs
- ViewSimplifier.cs
- CroppedBitmap.cs
- InvalidMessageContractException.cs
- CalendarSelectionChangedEventArgs.cs
- GifBitmapEncoder.cs
- DbProviderFactories.cs
- FunctionParameter.cs
- Size3DConverter.cs
- QueryConverter.cs
- BitmapEffectDrawingContextWalker.cs
- MenuItem.cs
- OdbcParameter.cs
- ConfigurationSectionCollection.cs
- GroupBoxAutomationPeer.cs
- keycontainerpermission.cs
- StylusLogic.cs
- IChannel.cs
- ResourcesBuildProvider.cs
- XmlElement.cs
- LinearGradientBrush.cs
- FileSecurity.cs
- WebPartPersonalization.cs
- EditBehavior.cs
- Image.cs
- PropertyPathConverter.cs
- InboundActivityHelper.cs
- UrlPath.cs
- ArraySubsetEnumerator.cs
- DbMetaDataFactory.cs
- InteropBitmapSource.cs
- Shape.cs
- SpellCheck.cs
- BaseDataList.cs
- XmlSerializerFormatAttribute.cs
- Classification.cs
- DbProviderFactory.cs
- Rect.cs
- EventTask.cs
- StringWriter.cs
- EventProviderWriter.cs
- DataFormats.cs
- WebPartEditorOkVerb.cs
- ItemsChangedEventArgs.cs
- DoubleAnimationClockResource.cs
- InvalidateEvent.cs
- WorkflowApplicationException.cs
- SettingsSavedEventArgs.cs
- Subtree.cs
- DataServiceHostFactory.cs
- UnitySerializationHolder.cs
- CalendarTable.cs
- AddInSegmentDirectoryNotFoundException.cs
- SqlMetaData.cs
- StaticFileHandler.cs
- DeferredReference.cs
- ErrorLog.cs
- FloaterBaseParagraph.cs
- WhitespaceRuleReader.cs
- BoundPropertyEntry.cs
- ManagementObjectSearcher.cs
- Monitor.cs
- WebPageTraceListener.cs
- SqlNode.cs
- HostingMessageProperty.cs
- PenContext.cs
- BypassElement.cs
- ParenthesizePropertyNameAttribute.cs
- DataTemplate.cs
- LayoutManager.cs
- HandlerBase.cs
- xmlglyphRunInfo.cs
- ZoomPercentageConverter.cs
- TemplateLookupAction.cs
- NameSpaceExtractor.cs
- TextRange.cs
- EncoderReplacementFallback.cs
- ComponentConverter.cs
- DataRelationCollection.cs
- SoapInteropTypes.cs
- InputGestureCollection.cs
- SqlClientPermission.cs
- WizardStepCollectionEditor.cs
- PeerInvitationResponse.cs
- TextSelection.cs
- TextBoxRenderer.cs
- EventsTab.cs
- EventLogReader.cs