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
- EntityClassGenerator.cs
- ImplicitInputBrush.cs
- DataBinder.cs
- HwndAppCommandInputProvider.cs
- Double.cs
- ToolStripPanelSelectionBehavior.cs
- RuntimeConfigLKG.cs
- FixedPosition.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- TaiwanLunisolarCalendar.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- ThreadTrace.cs
- FormatterConverter.cs
- KeyboardNavigation.cs
- VectorAnimationBase.cs
- CodeTryCatchFinallyStatement.cs
- DefaultPropertyAttribute.cs
- WsatTransactionHeader.cs
- StoragePropertyMapping.cs
- QueueProcessor.cs
- CollectionViewGroupRoot.cs
- CounterNameConverter.cs
- HScrollProperties.cs
- SafeRightsManagementPubHandle.cs
- _UncName.cs
- RequestTimeoutManager.cs
- EllipseGeometry.cs
- ServerValidateEventArgs.cs
- FontFamilyConverter.cs
- TextRangeEditLists.cs
- ClientOptions.cs
- TraceLevelStore.cs
- OpenTypeLayout.cs
- CodeAccessPermission.cs
- LogicalCallContext.cs
- WebBrowserSiteBase.cs
- BitmapCodecInfo.cs
- AuthorizationRule.cs
- VarInfo.cs
- DataGridViewCellStyleChangedEventArgs.cs
- TriggerAction.cs
- BaseAutoFormat.cs
- StatusBarPanel.cs
- MDIClient.cs
- PerformanceCounter.cs
- ProviderConnectionPoint.cs
- InstanceData.cs
- CodeLinePragma.cs
- TextDecoration.cs
- AdapterUtil.cs
- MsmqTransportSecurity.cs
- QueryOperationResponseOfT.cs
- ToolStripItemBehavior.cs
- ParallelTimeline.cs
- XslTransform.cs
- TreeIterator.cs
- Int16.cs
- BooleanStorage.cs
- ContainerParaClient.cs
- XmlUnspecifiedAttribute.cs
- PropertyGridCommands.cs
- util.cs
- TypedElement.cs
- AutoCompleteStringCollection.cs
- BindingManagerDataErrorEventArgs.cs
- CacheHelper.cs
- Maps.cs
- CaretElement.cs
- ExtentCqlBlock.cs
- ItemAutomationPeer.cs
- DictionaryChange.cs
- TdsParserHelperClasses.cs
- WebPartConnectionsCancelVerb.cs
- CodeTypeOfExpression.cs
- DataObjectMethodAttribute.cs
- NativeMethods.cs
- LostFocusEventManager.cs
- WebPartZone.cs
- TokenBasedSetEnumerator.cs
- RewritingSimplifier.cs
- ToolboxItemWrapper.cs
- ConditionalExpression.cs
- DateRangeEvent.cs
- EntityDataSourceWrapperCollection.cs
- InputBindingCollection.cs
- ManagementEventArgs.cs
- HostedBindingBehavior.cs
- AssemblyAttributesGoHere.cs
- OdbcConnectionOpen.cs
- SqlCommand.cs
- DES.cs
- OleDbRowUpdatedEvent.cs
- DynamicObject.cs
- Floater.cs
- parserscommon.cs
- AssertSection.cs
- WebPartDescriptionCollection.cs
- GetUserPreferenceRequest.cs
- ResumeStoryboard.cs
- ReceiveMessageContent.cs