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
- DynamicDiscoSearcher.cs
- ActivityBuilderHelper.cs
- Quaternion.cs
- DataSpaceManager.cs
- GlobalizationSection.cs
- ListViewAutomationPeer.cs
- WebPartVerbCollection.cs
- DirectoryLocalQuery.cs
- DataGridViewCellParsingEventArgs.cs
- NamespaceList.cs
- MarkupCompiler.cs
- WindowsNonControl.cs
- TextParaClient.cs
- FontFaceLayoutInfo.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- MenuScrollingVisibilityConverter.cs
- UnsafeNativeMethods.cs
- PreloadedPackages.cs
- sqlmetadatafactory.cs
- ValidationResult.cs
- ElementsClipboardData.cs
- AssemblyName.cs
- PrimitiveXmlSerializers.cs
- CustomWebEventKey.cs
- DummyDataSource.cs
- BlockCollection.cs
- XPathAncestorIterator.cs
- PrimitiveXmlSerializers.cs
- MemberBinding.cs
- KoreanCalendar.cs
- NegotiateStream.cs
- ProviderException.cs
- Menu.cs
- _NTAuthentication.cs
- CrossContextChannel.cs
- DispatcherFrame.cs
- WebPartZone.cs
- __Filters.cs
- HttpStreamMessage.cs
- oledbmetadatacolumnnames.cs
- GeometryModel3D.cs
- DesignerValidatorAdapter.cs
- ClockController.cs
- List.cs
- WriteableOnDemandStream.cs
- PenLineCapValidation.cs
- InfoCardCryptoHelper.cs
- SBCSCodePageEncoding.cs
- PhysicalFontFamily.cs
- PrtTicket_Base.cs
- CryptoHelper.cs
- Tokenizer.cs
- FormCollection.cs
- SqlDataSourceStatusEventArgs.cs
- SmtpFailedRecipientException.cs
- ToolStripStatusLabel.cs
- DataViewSetting.cs
- ContainerAction.cs
- DataObjectCopyingEventArgs.cs
- URLAttribute.cs
- CacheSection.cs
- ConfigXmlComment.cs
- DesignerExtenders.cs
- FileLogRecord.cs
- CompilationUtil.cs
- sqlinternaltransaction.cs
- FileClassifier.cs
- ScrollProperties.cs
- FontStyle.cs
- DropShadowBitmapEffect.cs
- PerformanceCounterPermission.cs
- PageParserFilter.cs
- SmiEventSink_Default.cs
- MediaContext.cs
- SQLByteStorage.cs
- FileVersion.cs
- AssertHelper.cs
- SignatureDescription.cs
- ImagingCache.cs
- Border.cs
- MemberCollection.cs
- AuthenticationModuleElementCollection.cs
- CaseStatement.cs
- HMAC.cs
- PathStreamGeometryContext.cs
- Dump.cs
- util.cs
- IndependentlyAnimatedPropertyMetadata.cs
- SvcMapFileSerializer.cs
- RectangleHotSpot.cs
- ResourceReader.cs
- HandledMouseEvent.cs
- ArrangedElement.cs
- Lookup.cs
- DataGridViewLinkCell.cs
- SoapWriter.cs
- Grammar.cs
- VisualStyleElement.cs
- NativeMethods.cs
- TemplatedControlDesigner.cs