Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UrlMappingsModule.cs / 1 / UrlMappingsModule.cs
// 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 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 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SchemaCreator.cs
- FolderBrowserDialog.cs
- XmlElementList.cs
- WebReferencesBuildProvider.cs
- MultiTrigger.cs
- XmlSchemaAttributeGroup.cs
- processwaithandle.cs
- UiaCoreTypesApi.cs
- TextTreeExtractElementUndoUnit.cs
- TemplateLookupAction.cs
- OleDbPermission.cs
- CommandValueSerializer.cs
- ReturnValue.cs
- SystemDropShadowChrome.cs
- TraceData.cs
- HyperlinkAutomationPeer.cs
- EncodingNLS.cs
- RayMeshGeometry3DHitTestResult.cs
- BamlLocalizer.cs
- CookielessHelper.cs
- BooleanExpr.cs
- WeakHashtable.cs
- WinFormsUtils.cs
- HttpClientChannel.cs
- ObjectDataSourceDesigner.cs
- Pen.cs
- RootBrowserWindow.cs
- SerializationObjectManager.cs
- ListViewAutomationPeer.cs
- PeerConnector.cs
- WebBrowserHelper.cs
- FieldAccessException.cs
- ImportContext.cs
- OpacityConverter.cs
- HelpProvider.cs
- ControlType.cs
- ConfigurationSectionHelper.cs
- OneOfElement.cs
- XmlDocument.cs
- DataGridCaption.cs
- BaseTemplateCodeDomTreeGenerator.cs
- SqlFacetAttribute.cs
- VisualStateManager.cs
- GridViewCommandEventArgs.cs
- Merger.cs
- CellParaClient.cs
- Quad.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- IdentityReference.cs
- Predicate.cs
- BinaryParser.cs
- HScrollProperties.cs
- BmpBitmapDecoder.cs
- ButtonColumn.cs
- WebPartVerbCollection.cs
- ColorAnimationBase.cs
- WebDescriptionAttribute.cs
- XmlNodeReader.cs
- XsdBuildProvider.cs
- ContainerAction.cs
- GridViewColumnCollectionChangedEventArgs.cs
- MessagePartSpecification.cs
- TreePrinter.cs
- TextModifier.cs
- CacheAxisQuery.cs
- NativeCppClassAttribute.cs
- returneventsaver.cs
- TextParaClient.cs
- DataBindingHandlerAttribute.cs
- HealthMonitoringSection.cs
- ProviderSettingsCollection.cs
- WpfXamlLoader.cs
- IsolatedStorageException.cs
- UInt64.cs
- UnsafeMethods.cs
- Highlights.cs
- XmlBoundElement.cs
- DeclarativeExpressionConditionDeclaration.cs
- WebPartAddingEventArgs.cs
- EngineSiteSapi.cs
- OdbcConnectionStringbuilder.cs
- TimeZone.cs
- InternalBufferOverflowException.cs
- BidPrivateBase.cs
- TextWriterTraceListener.cs
- ListBindingConverter.cs
- PrintControllerWithStatusDialog.cs
- Decoder.cs
- WCFServiceClientProxyGenerator.cs
- SpellerHighlightLayer.cs
- IgnoreFileBuildProvider.cs
- InvokePattern.cs
- FileLoadException.cs
- ResolvedKeyFrameEntry.cs
- CommentAction.cs
- DataBoundControlActionList.cs
- TreeBuilderBamlTranslator.cs
- Mouse.cs
- HttpCookiesSection.cs
- KeyValuePair.cs