Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- NativeMethods.cs
- XXXInfos.cs
- BooleanSwitch.cs
- ListBindingHelper.cs
- ViewStateModeByIdAttribute.cs
- DataMemberAttribute.cs
- Overlapped.cs
- SamlAuthenticationClaimResource.cs
- WaitForChangedResult.cs
- MonitorWrapper.cs
- ResourceProperty.cs
- EntityType.cs
- TdsParserHelperClasses.cs
- ConfigXmlText.cs
- PartBasedPackageProperties.cs
- FloatAverageAggregationOperator.cs
- AudioException.cs
- TargetParameterCountException.cs
- VBIdentifierTrimConverter.cs
- ButtonAutomationPeer.cs
- OpenTypeLayout.cs
- CLSCompliantAttribute.cs
- DrawingContextDrawingContextWalker.cs
- EndEvent.cs
- XPathMultyIterator.cs
- AsymmetricSignatureDeformatter.cs
- XmlMembersMapping.cs
- ItemCollectionEditor.cs
- FreezableOperations.cs
- _CacheStreams.cs
- ComponentEditorPage.cs
- CorrelationTokenInvalidatedHandler.cs
- PathData.cs
- ProcessHostConfigUtils.cs
- SelectionItemProviderWrapper.cs
- MetadataWorkspace.cs
- SettingsSection.cs
- ToolStrip.cs
- CodeFieldReferenceExpression.cs
- JsonCollectionDataContract.cs
- GlyphRun.cs
- PathFigure.cs
- HttpConfigurationContext.cs
- ContentPlaceHolder.cs
- WorkflowWebHostingModule.cs
- NativeObjectSecurity.cs
- DataGridViewRowsAddedEventArgs.cs
- SubstitutionList.cs
- _DigestClient.cs
- DBCSCodePageEncoding.cs
- BinarySerializer.cs
- SortableBindingList.cs
- CaseInsensitiveComparer.cs
- Pair.cs
- StylusPointDescription.cs
- Pkcs7Recipient.cs
- ModelProperty.cs
- MetadataArtifactLoaderResource.cs
- PrtTicket_Base.cs
- XmlAnyElementAttributes.cs
- XmlAutoDetectWriter.cs
- RoutedCommand.cs
- PropertyGridEditorPart.cs
- XPathArrayIterator.cs
- ApplicationServiceManager.cs
- DesignerActionTextItem.cs
- ProviderSettingsCollection.cs
- TableLayout.cs
- XmlNode.cs
- TextPenaltyModule.cs
- RunClient.cs
- CustomError.cs
- TextParaClient.cs
- AppSettingsExpressionBuilder.cs
- LowerCaseStringConverter.cs
- AnonymousIdentificationModule.cs
- ResourceKey.cs
- MessageHeaderDescriptionCollection.cs
- oledbconnectionstring.cs
- TableItemStyle.cs
- ImmutableCollection.cs
- TableItemStyle.cs
- HttpProfileGroupBase.cs
- XmlAutoDetectWriter.cs
- SecondaryIndexDefinition.cs
- CapiSymmetricAlgorithm.cs
- EventProxy.cs
- ToolStripDesignerAvailabilityAttribute.cs
- CriticalFinalizerObject.cs
- DelegatingTypeDescriptionProvider.cs
- RelatedPropertyManager.cs
- MemoryMappedView.cs
- GatewayDefinition.cs
- _ScatterGatherBuffers.cs
- ControlCodeDomSerializer.cs
- PasswordPropertyTextAttribute.cs
- InstancePersistence.cs
- Emitter.cs
- CrossContextChannel.cs
- SqlServer2KCompatibilityCheck.cs