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
- SecurityToken.cs
- OuterGlowBitmapEffect.cs
- EntityContainer.cs
- InfoCardCryptoHelper.cs
- ValueUnavailableException.cs
- xdrvalidator.cs
- PassportAuthenticationEventArgs.cs
- ConfigXmlComment.cs
- StringArrayConverter.cs
- MarkerProperties.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ReadOnlyCollectionBase.cs
- XsltInput.cs
- FailedToStartupUIException.cs
- DataGridViewButtonCell.cs
- mediaeventshelper.cs
- XmlElement.cs
- ImageConverter.cs
- SubpageParaClient.cs
- ReferenceConverter.cs
- SafeNativeMethods.cs
- ThreadLocal.cs
- DoubleLinkListEnumerator.cs
- XslException.cs
- RadialGradientBrush.cs
- SessionStateModule.cs
- XMLDiffLoader.cs
- LicenseProviderAttribute.cs
- XPathDocumentBuilder.cs
- TextEndOfParagraph.cs
- WebServiceMethodData.cs
- SecurityDocument.cs
- TextFormatterContext.cs
- IxmlLineInfo.cs
- TaskFormBase.cs
- SiteOfOriginPart.cs
- EntityKey.cs
- DataBoundControl.cs
- OdbcRowUpdatingEvent.cs
- SharedStatics.cs
- CompositionAdorner.cs
- Bezier.cs
- _Semaphore.cs
- LocationSectionRecord.cs
- XmlILModule.cs
- AsyncCompletedEventArgs.cs
- MDIClient.cs
- SmiRecordBuffer.cs
- Subtree.cs
- NativeBuffer.cs
- TimelineClockCollection.cs
- DeploymentSection.cs
- Privilege.cs
- OleDbSchemaGuid.cs
- _SSPIWrapper.cs
- HTMLTextWriter.cs
- NamespaceInfo.cs
- DataObjectPastingEventArgs.cs
- AssociationSet.cs
- StateMachine.cs
- SymDocumentType.cs
- DrawingServices.cs
- Vector3DValueSerializer.cs
- ImageListStreamer.cs
- SystemNetworkInterface.cs
- ReadOnlyCollectionBase.cs
- WebPartZone.cs
- ApplicationFileParser.cs
- WorkflowInstanceExtensionManager.cs
- NotSupportedException.cs
- IntSecurity.cs
- DesignerActionList.cs
- HashJoinQueryOperatorEnumerator.cs
- IgnorePropertiesAttribute.cs
- Attributes.cs
- FontStyles.cs
- DirectoryRedirect.cs
- ColumnPropertiesGroup.cs
- ScrollBar.cs
- FacetValueContainer.cs
- CheckPair.cs
- CollectionViewSource.cs
- TrackBar.cs
- TraceInternal.cs
- Point3D.cs
- X509CertificateClaimSet.cs
- DirectoryNotFoundException.cs
- ZipFileInfoCollection.cs
- ObjectCloneHelper.cs
- CryptographicAttribute.cs
- StringFunctions.cs
- PropertyInfoSet.cs
- SmtpFailedRecipientException.cs
- TdsRecordBufferSetter.cs
- WorkflowClientDeliverMessageWrapper.cs
- UtilityExtension.cs
- BindingFormattingDialog.cs
- basecomparevalidator.cs
- EastAsianLunisolarCalendar.cs