Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UrlMappingsModule.cs / 1 / UrlMappingsModule.cs
// 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 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 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 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DocumentSchemaValidator.cs
- HMACSHA1.cs
- FontFamilyConverter.cs
- WaitForChangedResult.cs
- EntityReference.cs
- CompiledRegexRunnerFactory.cs
- RootProfilePropertySettingsCollection.cs
- FixUp.cs
- TextStore.cs
- ComponentChangingEvent.cs
- CngAlgorithm.cs
- BinaryObjectWriter.cs
- PostBackOptions.cs
- HttpClientCertificate.cs
- RemoteWebConfigurationHost.cs
- QilReplaceVisitor.cs
- DesignerDataParameter.cs
- Utility.cs
- Literal.cs
- OleCmdHelper.cs
- ExtensibleClassFactory.cs
- ThemeDictionaryExtension.cs
- BufferedGraphicsManager.cs
- ProfileParameter.cs
- Rotation3D.cs
- LayoutUtils.cs
- ExtractorMetadata.cs
- SwitchElementsCollection.cs
- PersonalizableTypeEntry.cs
- ToolStripStatusLabel.cs
- AudioFormatConverter.cs
- HtmlControlPersistable.cs
- CompoundFileStreamReference.cs
- SqlLiftWhereClauses.cs
- IPipelineRuntime.cs
- PtsHost.cs
- StorageAssociationSetMapping.cs
- Selector.cs
- TextReader.cs
- PropertyToken.cs
- PngBitmapEncoder.cs
- StdRegProviderWrapper.cs
- MenuScrollingVisibilityConverter.cs
- DataService.cs
- Button.cs
- CodePageEncoding.cs
- ScrollProperties.cs
- SamlSerializer.cs
- GifBitmapDecoder.cs
- InkPresenterAutomationPeer.cs
- ReadOnlyHierarchicalDataSource.cs
- WorkflowShape.cs
- RtfToXamlReader.cs
- MexServiceChannelBuilder.cs
- WebControlToolBoxItem.cs
- TiffBitmapEncoder.cs
- SHA1CryptoServiceProvider.cs
- TextSpan.cs
- WebHttpDispatchOperationSelector.cs
- SiteMapNodeItem.cs
- WebPartEventArgs.cs
- RelatedView.cs
- XmlException.cs
- MulticastDelegate.cs
- MessageVersionConverter.cs
- InteropAutomationProvider.cs
- RewritingValidator.cs
- WebUtil.cs
- SqlCrossApplyToCrossJoin.cs
- BamlLocalizationDictionary.cs
- CollectionDataContractAttribute.cs
- FrameworkTextComposition.cs
- RuntimeConfigLKG.cs
- CodeCatchClauseCollection.cs
- ConnectionInterfaceCollection.cs
- SiteMapDataSource.cs
- DefaultBindingPropertyAttribute.cs
- LocalizableResourceBuilder.cs
- EntitySetBase.cs
- DesignObjectWrapper.cs
- CreateUserWizardDesigner.cs
- TextServicesManager.cs
- DetailsViewUpdatedEventArgs.cs
- WebHeaderCollection.cs
- SoapAttributeAttribute.cs
- RenderCapability.cs
- RegistryPermission.cs
- ClientBuildManagerCallback.cs
- ApplyTemplatesAction.cs
- Visitor.cs
- DNS.cs
- DataGridViewDataConnection.cs
- CompiledQuery.cs
- DBSchemaTable.cs
- RelationshipManager.cs
- HelpKeywordAttribute.cs
- XmlDocumentFieldSchema.cs
- TextServicesCompartment.cs
- StateBag.cs
- UserControl.cs