Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- TextEditor.cs
- DependencyPropertyChangedEventArgs.cs
- ViewSimplifier.cs
- WebDisplayNameAttribute.cs
- DeferredReference.cs
- Typeface.cs
- ContextMenuStripActionList.cs
- PageEventArgs.cs
- FocusTracker.cs
- ProfileSettingsCollection.cs
- RelationshipType.cs
- WorkflowServiceAttributesTypeConverter.cs
- NameScope.cs
- DataBindingExpressionBuilder.cs
- ImageSourceValueSerializer.cs
- ParseHttpDate.cs
- BitmapEffectInput.cs
- OLEDB_Util.cs
- jithelpers.cs
- ValidatorCompatibilityHelper.cs
- BitmapEffectDrawingContextWalker.cs
- OleDbParameterCollection.cs
- InputQueueChannel.cs
- Pen.cs
- PostBackOptions.cs
- _DomainName.cs
- FixedElement.cs
- OpenTypeLayout.cs
- VariableQuery.cs
- OrCondition.cs
- ListItem.cs
- AdapterDictionary.cs
- RequestCachePolicyConverter.cs
- TabRenderer.cs
- SubMenuStyleCollectionEditor.cs
- Decoder.cs
- DataGridViewLinkCell.cs
- Point4D.cs
- MouseOverProperty.cs
- validationstate.cs
- ImportException.cs
- WebPartCloseVerb.cs
- WeakReferenceKey.cs
- PixelFormats.cs
- ApplicationContext.cs
- MouseActionConverter.cs
- ClientScriptManager.cs
- _NTAuthentication.cs
- OracleNumber.cs
- Interlocked.cs
- AssemblyAssociatedContentFileAttribute.cs
- UserControlFileEditor.cs
- EditingCommands.cs
- ObjectDataSourceDesigner.cs
- ObjectAnimationBase.cs
- DesignerListAdapter.cs
- ReflectionUtil.cs
- ToolboxBitmapAttribute.cs
- Helper.cs
- TrustManagerMoreInformation.cs
- AssemblyResourceLoader.cs
- CodePrimitiveExpression.cs
- HtmlInputPassword.cs
- Brushes.cs
- StaticFileHandler.cs
- VirtualizingPanel.cs
- ElementsClipboardData.cs
- TemplateBuilder.cs
- SHA256Managed.cs
- pingexception.cs
- _OSSOCK.cs
- loginstatus.cs
- UIHelper.cs
- CodeConstructor.cs
- EventEntry.cs
- NullableFloatSumAggregationOperator.cs
- TextPointerBase.cs
- EntityDesignerDataSourceView.cs
- FontUnit.cs
- SymmetricAlgorithm.cs
- AsymmetricSignatureDeformatter.cs
- ProcessModelInfo.cs
- EdmScalarPropertyAttribute.cs
- HostedNamedPipeTransportManager.cs
- ApplicationServiceHelper.cs
- Misc.cs
- FileLogRecord.cs
- SymbolEqualComparer.cs
- Pen.cs
- ToolStripItemClickedEventArgs.cs
- SystemFonts.cs
- SocketInformation.cs
- AuthStoreRoleProvider.cs
- ListItemCollection.cs
- TemplateControlParser.cs
- TaiwanLunisolarCalendar.cs
- SpellerError.cs
- XmlWrappingReader.cs
- BooleanProjectedSlot.cs
- RuntimeArgumentHandle.cs