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
- ObjectDisposedException.cs
- AttributeTableBuilder.cs
- DataGridViewCell.cs
- OdbcFactory.cs
- CopyEncoder.cs
- XmlNamespaceMapping.cs
- SequentialOutput.cs
- ChangeInterceptorAttribute.cs
- WinEventTracker.cs
- ShaderRenderModeValidation.cs
- MouseEvent.cs
- WCFServiceClientProxyGenerator.cs
- ComponentDispatcher.cs
- X509CertificateStore.cs
- ClosureBinding.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- ReferenceSchema.cs
- ResourceExpressionBuilder.cs
- XmlReaderSettings.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- AccessViolationException.cs
- WorkItem.cs
- GridViewRowPresenterBase.cs
- TypeDescriptionProviderAttribute.cs
- KerberosTokenFactoryCredential.cs
- SafeNativeMethods.cs
- OletxEnlistment.cs
- PassportPrincipal.cs
- LogWriteRestartAreaState.cs
- MinMaxParagraphWidth.cs
- LineServicesRun.cs
- SystemUnicastIPAddressInformation.cs
- DataTrigger.cs
- DataGridViewDataErrorEventArgs.cs
- PolicyValidationException.cs
- WindowsStreamSecurityBindingElement.cs
- GridViewDeleteEventArgs.cs
- Sql8ExpressionRewriter.cs
- FillErrorEventArgs.cs
- EnumDataContract.cs
- RequestValidator.cs
- GridEntry.cs
- InitiatorSessionSymmetricTransportSecurityProtocol.cs
- LockedBorderGlyph.cs
- XamlPathDataSerializer.cs
- Model3D.cs
- PrintEvent.cs
- DbgUtil.cs
- MonthCalendar.cs
- TagPrefixAttribute.cs
- AddInDeploymentState.cs
- CommonRemoteMemoryBlock.cs
- ComponentChangingEvent.cs
- ZipPackagePart.cs
- LayoutEngine.cs
- AssemblyAttributes.cs
- IsolatedStorageFileStream.cs
- QuotaExceededException.cs
- EventProviderTraceListener.cs
- DeferredSelectedIndexReference.cs
- ThicknessKeyFrameCollection.cs
- PropertyChangedEventArgs.cs
- GcHandle.cs
- MdImport.cs
- LocationInfo.cs
- SortableBindingList.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- GridItem.cs
- RoutingUtilities.cs
- VerificationAttribute.cs
- XmlStrings.cs
- SQLSingle.cs
- SQLBytesStorage.cs
- ConfigXmlText.cs
- PeerPresenceInfo.cs
- SafeUserTokenHandle.cs
- ProfessionalColorTable.cs
- DesignerAttribute.cs
- BookmarkScopeManager.cs
- TypefaceMap.cs
- DbFunctionCommandTree.cs
- versioninfo.cs
- SpecialFolderEnumConverter.cs
- UnsafeNativeMethodsMilCoreApi.cs
- DesignerImageAdapter.cs
- SubstitutionDesigner.cs
- DomainConstraint.cs
- MessagePartProtectionMode.cs
- WebPartAddingEventArgs.cs
- CodeCatchClause.cs
- CharAnimationBase.cs
- ContextMenu.cs
- ObjectDataSourceMethodEventArgs.cs
- WebControlParameterProxy.cs
- EditorPartCollection.cs
- PolicyLevel.cs
- AssemblyInfo.cs
- Ray3DHitTestResult.cs
- GenericEnumConverter.cs
- BitmapScalingModeValidation.cs