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
- WebAdminConfigurationHelper.cs
- ToolStripRenderer.cs
- HttpModulesSection.cs
- ISCIIEncoding.cs
- OracleInfoMessageEventArgs.cs
- TextStore.cs
- ParseChildrenAsPropertiesAttribute.cs
- COM2IDispatchConverter.cs
- RetrieveVirtualItemEventArgs.cs
- EntityCommandExecutionException.cs
- QuaternionKeyFrameCollection.cs
- TypeConstant.cs
- ExpandedWrapper.cs
- DatatypeImplementation.cs
- ArgumentValue.cs
- ToolTipAutomationPeer.cs
- TextBlock.cs
- StringArrayEditor.cs
- DropSource.cs
- ScrollItemProviderWrapper.cs
- DBSchemaRow.cs
- HtmlControlPersistable.cs
- BaseComponentEditor.cs
- Bidi.cs
- TransformerConfigurationWizardBase.cs
- TileBrush.cs
- StylusOverProperty.cs
- BitmapPalettes.cs
- LinqDataSourceDeleteEventArgs.cs
- MergeFailedEvent.cs
- PathStreamGeometryContext.cs
- Comparer.cs
- DecimalAnimationBase.cs
- DataSourceNameHandler.cs
- InputScope.cs
- TextTreeFixupNode.cs
- OrderedDictionary.cs
- DecimalAnimation.cs
- OpCopier.cs
- ToolStripSeparatorRenderEventArgs.cs
- XPathParser.cs
- SoapReflectionImporter.cs
- PointAnimationUsingKeyFrames.cs
- SerializerProvider.cs
- PersonalizableTypeEntry.cs
- ChtmlTextWriter.cs
- SupportingTokenListenerFactory.cs
- XmlHierarchicalDataSourceView.cs
- PrivateFontCollection.cs
- RangeValueProviderWrapper.cs
- WSSecureConversationFeb2005.cs
- PassportIdentity.cs
- CachedFontFamily.cs
- Adorner.cs
- Button.cs
- M3DUtil.cs
- ControlEvent.cs
- ViewStateException.cs
- XmlSchemaElement.cs
- Message.cs
- IISUnsafeMethods.cs
- CollectionExtensions.cs
- ADConnectionHelper.cs
- InstanceKey.cs
- SystemSounds.cs
- FileChangesMonitor.cs
- XmlAtomicValue.cs
- RoleGroupCollection.cs
- SqlRowUpdatingEvent.cs
- IdnElement.cs
- NativeMethods.cs
- ListViewSelectEventArgs.cs
- ScriptControl.cs
- PasswordRecovery.cs
- TextSelectionHelper.cs
- ResourceProperty.cs
- XmlAttributeOverrides.cs
- LocalizableAttribute.cs
- FontEditor.cs
- DelegateBodyWriter.cs
- XPathException.cs
- GuidConverter.cs
- MobileComponentEditorPage.cs
- LifetimeServices.cs
- NavigationWindow.cs
- Expander.cs
- SetterTriggerConditionValueConverter.cs
- Animatable.cs
- ISAPIWorkerRequest.cs
- ProfileService.cs
- CheckoutException.cs
- RecommendedAsConfigurableAttribute.cs
- DialogWindow.cs
- AutomationProperties.cs
- NullRuntimeConfig.cs
- LinkArea.cs
- DataTableReaderListener.cs
- XmlAttributeOverrides.cs
- ConstNode.cs
- PropertyToken.cs