Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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; // } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataViewManagerListItemTypeDescriptor.cs
- SqlResolver.cs
- DocumentViewerConstants.cs
- OverlappedAsyncResult.cs
- UnaryExpressionHelper.cs
- XPathSingletonIterator.cs
- EditableRegion.cs
- AssemblyAssociatedContentFileAttribute.cs
- WindowsEditBoxRange.cs
- ConfigLoader.cs
- InstanceHandle.cs
- SmiEventSink_DeferedProcessing.cs
- SafeMarshalContext.cs
- XmlElementAttributes.cs
- AuthenticationModulesSection.cs
- DetailsViewUpdateEventArgs.cs
- IDataContractSurrogate.cs
- ChildTable.cs
- ActivityCodeDomSerializationManager.cs
- DrawingServices.cs
- MediaEntryAttribute.cs
- RegistryKey.cs
- PerformanceCountersElement.cs
- HyperLink.cs
- PersonalizationState.cs
- ExecutionEngineException.cs
- StringDictionaryCodeDomSerializer.cs
- BamlReader.cs
- XmlNode.cs
- SqlDelegatedTransaction.cs
- RangeContentEnumerator.cs
- ClientFormsAuthenticationCredentials.cs
- BlurBitmapEffect.cs
- DataServiceException.cs
- WebConfigurationHostFileChange.cs
- DataGrid.cs
- Soap12FormatExtensions.cs
- DataGridViewRowEventArgs.cs
- RC2.cs
- WebEventTraceProvider.cs
- MethodExecutor.cs
- TrackingServices.cs
- PropertyInformation.cs
- Transform3DCollection.cs
- ConstructorNeedsTagAttribute.cs
- HtmlTableRow.cs
- DesignerActionItemCollection.cs
- Code.cs
- BindingManagerDataErrorEventArgs.cs
- EnumUnknown.cs
- ObjectListCommandsPage.cs
- DataServiceRequestException.cs
- AdapterUtil.cs
- Point3DIndependentAnimationStorage.cs
- NamedPermissionSet.cs
- GenericTextProperties.cs
- BackoffTimeoutHelper.cs
- DataGrid.cs
- WebMessageEncodingBindingElement.cs
- HtmlInputRadioButton.cs
- HtmlWindow.cs
- XNameConverter.cs
- ValidatorAttribute.cs
- CheckBoxRenderer.cs
- Int32RectConverter.cs
- InputProcessorProfilesLoader.cs
- ipaddressinformationcollection.cs
- InputMethodStateTypeInfo.cs
- FontNamesConverter.cs
- RegexMatch.cs
- recordstatescratchpad.cs
- CheckBox.cs
- OrderedEnumerableRowCollection.cs
- AsymmetricSignatureFormatter.cs
- UnitySerializationHolder.cs
- EmptyStringExpandableObjectConverter.cs
- BitmapCacheBrush.cs
- StringWriter.cs
- InternalPolicyElement.cs
- InfoCardMasterKey.cs
- ColumnMap.cs
- SafeSystemMetrics.cs
- SizeFConverter.cs
- _DisconnectOverlappedAsyncResult.cs
- RegexTree.cs
- Rect.cs
- ListViewAutomationPeer.cs
- TabItemWrapperAutomationPeer.cs
- PersonalizationState.cs
- DataGridSortCommandEventArgs.cs
- FileAuthorizationModule.cs
- ChooseAction.cs
- AdornerDecorator.cs
- DataBoundControlDesigner.cs
- CalloutQueueItem.cs
- Roles.cs
- ManagementExtension.cs
- DesignTimeHTMLTextWriter.cs
- TemplateLookupAction.cs
- WorkflowOwnerAsyncResult.cs