Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UrlMappingsModule.cs / 2 / 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
- ThousandthOfEmRealDoubles.cs
- connectionpool.cs
- TextBlock.cs
- AllMembershipCondition.cs
- AstTree.cs
- wgx_commands.cs
- LinqMaximalSubtreeNominator.cs
- ContractCodeDomInfo.cs
- SystemColors.cs
- XmlNavigatorFilter.cs
- ColumnResult.cs
- XmlReflectionImporter.cs
- TextDecoration.cs
- returneventsaver.cs
- ManagedFilter.cs
- ExcCanonicalXml.cs
- PageParserFilter.cs
- PageRanges.cs
- EnumDataContract.cs
- SecUtil.cs
- Math.cs
- FlowDocument.cs
- PropertyPath.cs
- ConstructorExpr.cs
- ConfigXmlDocument.cs
- DelayedRegex.cs
- InvalidProgramException.cs
- SqlLiftWhereClauses.cs
- FrameworkTemplate.cs
- SQLInt16Storage.cs
- RegexParser.cs
- TransformerTypeCollection.cs
- externdll.cs
- MethodBuilder.cs
- DependencyObject.cs
- FileUtil.cs
- ToolStripContainerActionList.cs
- DocumentsTrace.cs
- FileDataSourceCache.cs
- AssemblyInfo.cs
- PathTooLongException.cs
- SpellCheck.cs
- HandlerBase.cs
- StoreAnnotationsMap.cs
- EntityDataSourceContextCreatingEventArgs.cs
- UnsettableComboBox.cs
- HtmlSelect.cs
- QueryCacheManager.cs
- baseaxisquery.cs
- MemberRelationshipService.cs
- HostProtectionException.cs
- XpsImageSerializationService.cs
- MetaDataInfo.cs
- StorageSetMapping.cs
- SystemNetworkInterface.cs
- TableRow.cs
- ClipboardData.cs
- StaticFileHandler.cs
- RtfToXamlReader.cs
- LocalBuilder.cs
- TargetControlTypeAttribute.cs
- UnsafeNativeMethods.cs
- WSSecurityOneDotZeroReceiveSecurityHeader.cs
- ThemeDictionaryExtension.cs
- QuestionEventArgs.cs
- XmlSerializationWriter.cs
- WebPartConnectionsCancelEventArgs.cs
- PropertyDescriptors.cs
- HiddenFieldPageStatePersister.cs
- ipaddressinformationcollection.cs
- MemberCollection.cs
- ExpandoObject.cs
- SiteMapDataSource.cs
- WebEventCodes.cs
- DBProviderConfigurationHandler.cs
- DynamicResourceExtension.cs
- Vertex.cs
- UrlAuthFailedErrorFormatter.cs
- DependencyPropertyChangedEventArgs.cs
- ContractMapping.cs
- XPathNodePointer.cs
- X509Extension.cs
- ResXResourceReader.cs
- StringExpressionSet.cs
- RoleGroup.cs
- GeometryCombineModeValidation.cs
- FormViewInsertEventArgs.cs
- ListDesigner.cs
- ResourceSetExpression.cs
- Block.cs
- ImageListUtils.cs
- BamlMapTable.cs
- ContentElementCollection.cs
- CfgSemanticTag.cs
- URIFormatException.cs
- ImageBrush.cs
- DynamicQueryableWrapper.cs
- HitTestParameters3D.cs
- Vector3DAnimationBase.cs
- lengthconverter.cs