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
- SystemTcpStatistics.cs
- ListParagraph.cs
- ServerProtocol.cs
- DocumentSchemaValidator.cs
- NotifyInputEventArgs.cs
- PrinterUnitConvert.cs
- MailAddress.cs
- SerializationException.cs
- CodeTypeConstructor.cs
- assemblycache.cs
- CapabilitiesRule.cs
- DBDataPermission.cs
- GraphicsState.cs
- Process.cs
- OuterGlowBitmapEffect.cs
- SourceChangedEventArgs.cs
- RowBinding.cs
- IImplicitResourceProvider.cs
- ColumnWidthChangingEvent.cs
- CounterCreationDataCollection.cs
- PriorityBinding.cs
- NotificationContext.cs
- Group.cs
- SByteStorage.cs
- InstallerTypeAttribute.cs
- TraceRecord.cs
- HtmlInputFile.cs
- Constraint.cs
- ToolStripItemGlyph.cs
- Package.cs
- SQLMembershipProvider.cs
- _UncName.cs
- Fonts.cs
- ImmutableObjectAttribute.cs
- IncomingWebRequestContext.cs
- MenuAdapter.cs
- TextTreeRootTextBlock.cs
- WindowsGraphicsCacheManager.cs
- InplaceBitmapMetadataWriter.cs
- WindowsToolbarAsMenu.cs
- PropertyPath.cs
- XmlSchemaExternal.cs
- ComponentGuaranteesAttribute.cs
- SqlDelegatedTransaction.cs
- WindowInteropHelper.cs
- BinaryObjectReader.cs
- TemplatePropertyEntry.cs
- SelectedGridItemChangedEvent.cs
- NotifyParentPropertyAttribute.cs
- Html32TextWriter.cs
- TransformerConfigurationWizardBase.cs
- FileInfo.cs
- CertificateElement.cs
- ApplicationHost.cs
- XPathNodeHelper.cs
- FormatVersion.cs
- ApplicationId.cs
- Compress.cs
- XmlSchemaRedefine.cs
- LicenseManager.cs
- WorkflowClientDeliverMessageWrapper.cs
- DataAdapter.cs
- RequestUriProcessor.cs
- SafeFindHandle.cs
- EnumUnknown.cs
- ClonableStack.cs
- ImportCatalogPart.cs
- DataGridRowsPresenter.cs
- RegexWriter.cs
- RegistryDataKey.cs
- Vector.cs
- ToggleButton.cs
- TemplateBindingExpressionConverter.cs
- ParseNumbers.cs
- CleanUpVirtualizedItemEventArgs.cs
- ClientData.cs
- IPHostEntry.cs
- IPHostEntry.cs
- BindingGraph.cs
- NamespaceMapping.cs
- StructuredTypeEmitter.cs
- EvidenceBase.cs
- DataGridViewTopRowAccessibleObject.cs
- SQLString.cs
- ViewPort3D.cs
- StrokeSerializer.cs
- SnapshotChangeTrackingStrategy.cs
- ItemsPanelTemplate.cs
- RoleService.cs
- OrthographicCamera.cs
- ThousandthOfEmRealPoints.cs
- FrameSecurityDescriptor.cs
- Environment.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- BlurBitmapEffect.cs
- _NTAuthentication.cs
- CategoryList.cs
- ListView.cs
- CharEntityEncoderFallback.cs
- JpegBitmapEncoder.cs