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
- CodeDirectoryCompiler.cs
- RTTypeWrapper.cs
- HttpProcessUtility.cs
- CellIdBoolean.cs
- GridViewRowEventArgs.cs
- WebPartTransformerCollection.cs
- RemoteWebConfigurationHost.cs
- TypeInfo.cs
- KnownColorTable.cs
- ListChangedEventArgs.cs
- ListViewItemSelectionChangedEvent.cs
- AttachedAnnotationChangedEventArgs.cs
- IEnumerable.cs
- TextDecorationLocationValidation.cs
- DependencyObject.cs
- Monitor.cs
- RuleSettings.cs
- ProtocolsSection.cs
- InvalidFilterCriteriaException.cs
- InlineCollection.cs
- UseManagedPresentationElement.cs
- ObjectListDataBindEventArgs.cs
- AutoResetEvent.cs
- Enlistment.cs
- XmlExceptionHelper.cs
- TemplateLookupAction.cs
- JapaneseLunisolarCalendar.cs
- XmlSchemaInclude.cs
- NullRuntimeConfig.cs
- Timeline.cs
- SqlProfileProvider.cs
- FileStream.cs
- ScriptModule.cs
- GeneralTransform3DTo2DTo3D.cs
- TargetInvocationException.cs
- Journaling.cs
- RotateTransform.cs
- ModulesEntry.cs
- VirtualPathData.cs
- MetaModel.cs
- RevocationPoint.cs
- TranslateTransform.cs
- CommandEventArgs.cs
- TokenBasedSet.cs
- PersonalizationProviderCollection.cs
- HierarchicalDataBoundControl.cs
- MouseGestureValueSerializer.cs
- ItemsChangedEventArgs.cs
- CommonDialog.cs
- NetDispatcherFaultException.cs
- DesignerVerbToolStripMenuItem.cs
- CustomTypeDescriptor.cs
- RuleRef.cs
- FormsAuthenticationUser.cs
- TargetException.cs
- _NestedSingleAsyncResult.cs
- HtmlCalendarAdapter.cs
- XPathNavigator.cs
- Repeater.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- ManagementEventArgs.cs
- PrintDialogException.cs
- CmsInterop.cs
- SqlInternalConnection.cs
- ChildTable.cs
- AudioLevelUpdatedEventArgs.cs
- GuidTagList.cs
- MenuRenderer.cs
- XmlArrayItemAttributes.cs
- XPathPatternParser.cs
- EntityClassGenerator.cs
- RowToParametersTransformer.cs
- Wizard.cs
- CodeBinaryOperatorExpression.cs
- TempFiles.cs
- HttpRequestCacheValidator.cs
- MessageQueueTransaction.cs
- SudsWriter.cs
- PointLight.cs
- Converter.cs
- OleDbDataAdapter.cs
- XpsPackagingPolicy.cs
- NamedPipeDuplicateContext.cs
- ReadOnlyHierarchicalDataSource.cs
- WorkflowTraceTransfer.cs
- StringValidator.cs
- RectValueSerializer.cs
- XmlDocument.cs
- RuntimeTransactionHandle.cs
- NavigateEvent.cs
- OneOfElement.cs
- TextDecorationLocationValidation.cs
- DeflateStreamAsyncResult.cs
- LinqDataSourceEditData.cs
- NetDataContractSerializer.cs
- ScrollEvent.cs
- DependencyObjectType.cs
- PickDesigner.xaml.cs
- ConfigXmlText.cs
- DateTimeOffsetConverter.cs