Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / 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. // 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 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
- Graph.cs
- SchemaCollectionPreprocessor.cs
- ClosableStream.cs
- DefaultPropertyAttribute.cs
- AlphabeticalEnumConverter.cs
- MiniMapControl.xaml.cs
- LogExtent.cs
- TemplateBindingExtensionConverter.cs
- ResourceContainer.cs
- CodeDesigner.cs
- GorillaCodec.cs
- LocalizationParserHooks.cs
- thaishape.cs
- TrackBarRenderer.cs
- CodeSnippetStatement.cs
- ProgressBarHighlightConverter.cs
- WebPartConnectionsCloseVerb.cs
- DataGridTextBoxColumn.cs
- Expression.cs
- HMACSHA512.cs
- Pointer.cs
- ClientTarget.cs
- ColumnMapProcessor.cs
- LicenseManager.cs
- Activator.cs
- JsonXmlDataContract.cs
- Closure.cs
- ViewBase.cs
- SequenceQuery.cs
- CurrentChangedEventManager.cs
- StringCollection.cs
- ScriptRegistrationManager.cs
- ToolStripLocationCancelEventArgs.cs
- ToolStripManager.cs
- ClientScriptItemCollection.cs
- FontStretch.cs
- MethodBuilderInstantiation.cs
- QuaternionConverter.cs
- LinearGradientBrush.cs
- DataGridViewCellStyle.cs
- safesecurityhelperavalon.cs
- NetTcpBinding.cs
- CodeDirectionExpression.cs
- StateMachine.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- RuleSetDialog.cs
- XsltArgumentList.cs
- DbParameterCollection.cs
- BinaryObjectWriter.cs
- TextDecorationCollectionConverter.cs
- ProgramPublisher.cs
- XmlLanguageConverter.cs
- IResourceProvider.cs
- MethodExecutor.cs
- ProfilePropertyNameValidator.cs
- PaperSize.cs
- PropertyMap.cs
- ClassImporter.cs
- WeakReferenceList.cs
- BigInt.cs
- Processor.cs
- PlainXmlWriter.cs
- ConnectionManagementElement.cs
- TextEffectCollection.cs
- PrimitiveType.cs
- LinqDataSourceInsertEventArgs.cs
- GeneralTransform3DCollection.cs
- DataGridViewLayoutData.cs
- NavigationCommands.cs
- Int16Animation.cs
- HtmlAnchor.cs
- SimplePropertyEntry.cs
- SQLInt64Storage.cs
- DispatcherTimer.cs
- ArgumentOutOfRangeException.cs
- QuaternionRotation3D.cs
- DataGridViewCellParsingEventArgs.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- FrameworkObject.cs
- DBDataPermissionAttribute.cs
- Merger.cs
- ParameterRefs.cs
- QilInvokeEarlyBound.cs
- HierarchicalDataSourceConverter.cs
- Cursors.cs
- WebPartZoneBaseDesigner.cs
- XmlAttributeAttribute.cs
- COM2TypeInfoProcessor.cs
- CommentEmitter.cs
- PnrpPeerResolverBindingElement.cs
- BooleanToVisibilityConverter.cs
- GlyphInfoList.cs
- TriggerAction.cs
- WebPartDisplayModeEventArgs.cs
- FtpWebRequest.cs
- ListArgumentProvider.cs
- QilPatternFactory.cs
- TrackingProfileDeserializationException.cs
- VirtualDirectoryMapping.cs
- DbDataRecord.cs