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
- ProfileBuildProvider.cs
- Deflater.cs
- GPRECTF.cs
- CodeDOMUtility.cs
- WebCategoryAttribute.cs
- EmptyReadOnlyDictionaryInternal.cs
- ChannelManager.cs
- ConfigurationStrings.cs
- ContextMarshalException.cs
- CellPartitioner.cs
- HtmlDocument.cs
- XPathDescendantIterator.cs
- InputEventArgs.cs
- Triangle.cs
- SoapSchemaExporter.cs
- MenuEventArgs.cs
- SystemColorTracker.cs
- DbModificationClause.cs
- FileSystemWatcher.cs
- SqlClientMetaDataCollectionNames.cs
- PeerMaintainer.cs
- InputLanguageCollection.cs
- FixedFlowMap.cs
- SchemaImporterExtensionElementCollection.cs
- Expr.cs
- AssemblyNameProxy.cs
- SmiRecordBuffer.cs
- XmlIgnoreAttribute.cs
- HttpProfileGroupBase.cs
- Util.cs
- MediaContext.cs
- FileDetails.cs
- ComponentManagerBroker.cs
- ItemsControlAutomationPeer.cs
- TypeResolver.cs
- LocalBuilder.cs
- CodeConstructor.cs
- Visual3D.cs
- Switch.cs
- HttpModulesSection.cs
- _NtlmClient.cs
- ComponentManagerBroker.cs
- PageWrapper.cs
- DataGridCell.cs
- CommandPlan.cs
- SolidColorBrush.cs
- MultipleViewProviderWrapper.cs
- regiisutil.cs
- SoapCodeExporter.cs
- SmiEventStream.cs
- Activator.cs
- PathSegmentCollection.cs
- BindingsCollection.cs
- UnauthorizedWebPart.cs
- ToolStripSystemRenderer.cs
- HostedTcpTransportManager.cs
- UnauthorizedAccessException.cs
- infer.cs
- RijndaelManaged.cs
- ScriptingSectionGroup.cs
- DescendantBaseQuery.cs
- HostSecurityManager.cs
- SQLBinary.cs
- EventBuilder.cs
- WorkItem.cs
- DataColumnMapping.cs
- ISO2022Encoding.cs
- ChangeInterceptorAttribute.cs
- MappingModelBuildProvider.cs
- HuffCodec.cs
- ExpressionLink.cs
- FormView.cs
- EmptyQuery.cs
- RMEnrollmentPage1.cs
- DocumentViewer.cs
- SqlFunctionAttribute.cs
- ConditionBrowserDialog.cs
- StringValidatorAttribute.cs
- ModelChangedEventArgsImpl.cs
- UdpSocketReceiveManager.cs
- DesignerAttribute.cs
- CatalogPart.cs
- CheckBoxPopupAdapter.cs
- KeyManager.cs
- ObjectConverter.cs
- WebServiceHost.cs
- StorageBasedPackageProperties.cs
- DataGridViewRowEventArgs.cs
- LocalBuilder.cs
- UserControl.cs
- HttpContextWrapper.cs
- StructuralType.cs
- RegexRunner.cs
- Symbol.cs
- IssuerInformation.cs
- PipelineModuleStepContainer.cs
- UnsignedPublishLicense.cs
- HttpCookiesSection.cs
- RecognizeCompletedEventArgs.cs
- HierarchicalDataSourceControl.cs