Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- TimeSpanValidator.cs
- BufferedStream.cs
- XmlSchemaObjectCollection.cs
- KeyedQueue.cs
- ConfigurationManagerHelperFactory.cs
- HttpCachePolicyElement.cs
- IncrementalHitTester.cs
- XPathDescendantIterator.cs
- ScaleTransform.cs
- PromptEventArgs.cs
- PseudoWebRequest.cs
- ConsoleEntryPoint.cs
- RootBrowserWindowProxy.cs
- MemberDomainMap.cs
- FileLogRecordEnumerator.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- SafeHandles.cs
- Color.cs
- IRCollection.cs
- RemoteWebConfigurationHostStream.cs
- ListView.cs
- HTMLTextWriter.cs
- RoutedCommand.cs
- DbParameterCollectionHelper.cs
- CompositeFontParser.cs
- NotCondition.cs
- ObjectSecurityT.cs
- OleDbDataAdapter.cs
- GroupBox.cs
- WindowsRichEditRange.cs
- LayoutEditorPart.cs
- XamlWriter.cs
- SocketPermission.cs
- ColorKeyFrameCollection.cs
- ProxyFragment.cs
- ThicknessAnimationBase.cs
- WebConfigurationHost.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- CapabilitiesState.cs
- CompilerError.cs
- COAUTHINFO.cs
- BrowserDefinition.cs
- SafeNativeMethodsCLR.cs
- FunctionParameter.cs
- ImagingCache.cs
- CheckBox.cs
- XmlSchemaValidationException.cs
- TextTrailingWordEllipsis.cs
- SqlDataSourceEnumerator.cs
- Exceptions.cs
- SafeReadContext.cs
- ISO2022Encoding.cs
- DesignTimeXamlWriter.cs
- contentDescriptor.cs
- UIInitializationException.cs
- TextEncodedRawTextWriter.cs
- SqlDataSourceFilteringEventArgs.cs
- EpmCustomContentDeSerializer.cs
- TextSelectionProcessor.cs
- TypeTypeConverter.cs
- FieldInfo.cs
- DateTimeUtil.cs
- ConstraintStruct.cs
- WebMessageEncodingElement.cs
- ThrowOnMultipleAssignment.cs
- DependencyPropertyValueSerializer.cs
- CodeTypeMember.cs
- NumericPagerField.cs
- NameValueCollection.cs
- TakeOrSkipWhileQueryOperator.cs
- PointCollection.cs
- BufferBuilder.cs
- RootBuilder.cs
- Scheduling.cs
- sqlpipe.cs
- ConsumerConnectionPoint.cs
- NullableConverter.cs
- XmlSiteMapProvider.cs
- EmptyCollection.cs
- SQLGuid.cs
- ConfigXmlElement.cs
- DispatcherOperation.cs
- TypeAccessException.cs
- FontConverter.cs
- FormatException.cs
- ExpressionBuilder.cs
- Cloud.cs
- TabControlEvent.cs
- SecurityResources.cs
- ConfigurationSettings.cs
- SmtpNetworkElement.cs
- ExpressionWriter.cs
- SqlTopReducer.cs
- CaseInsensitiveComparer.cs
- RayMeshGeometry3DHitTestResult.cs
- HttpModulesSection.cs
- ProxySimple.cs
- SizeConverter.cs
- Parameter.cs
- XPathNavigatorKeyComparer.cs