Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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; // } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListDesigner.cs
- SoapHttpTransportImporter.cs
- MergeExecutor.cs
- KeyGesture.cs
- DuplicateContext.cs
- ContourSegment.cs
- DataServiceHost.cs
- XmlArrayAttribute.cs
- XmlEncodedRawTextWriter.cs
- OSFeature.cs
- Nodes.cs
- MdiWindowListItemConverter.cs
- LoginView.cs
- PageContentAsyncResult.cs
- PointIndependentAnimationStorage.cs
- ToolStripRenderer.cs
- ToolTip.cs
- Nullable.cs
- ConfigXmlComment.cs
- PageClientProxyGenerator.cs
- ForEachAction.cs
- Registry.cs
- SqlConnectionManager.cs
- TransformerInfoCollection.cs
- IdnElement.cs
- SortExpressionBuilder.cs
- DbException.cs
- ToolStripTemplateNode.cs
- HttpModuleActionCollection.cs
- SortQuery.cs
- DbProviderFactoriesConfigurationHandler.cs
- TextSelectionProcessor.cs
- TextFormatter.cs
- NativeMethods.cs
- DataServiceStreamProviderWrapper.cs
- SettingsPropertyNotFoundException.cs
- EncoderBestFitFallback.cs
- TdsParserStateObject.cs
- XomlCompilerHelpers.cs
- UInt32Storage.cs
- input.cs
- FixedSchema.cs
- ConfigXmlCDataSection.cs
- WeakKeyDictionary.cs
- NullableDecimalMinMaxAggregationOperator.cs
- NamedObject.cs
- OutputCacheSettings.cs
- InstanceCompleteException.cs
- GridViewColumnHeader.cs
- BeginStoryboard.cs
- SHA256Managed.cs
- EditorPart.cs
- ConditionBrowserDialog.cs
- BoundsDrawingContextWalker.cs
- PseudoWebRequest.cs
- XPathChildIterator.cs
- TextEditorParagraphs.cs
- ArglessEventHandlerProxy.cs
- BinaryObjectWriter.cs
- MonthCalendar.cs
- Shared.cs
- Setter.cs
- DiscoveryReference.cs
- MenuItem.cs
- ProtocolsConfigurationEntry.cs
- PropertyContainer.cs
- TreeViewEvent.cs
- InfoCardMetadataExchangeClient.cs
- Merger.cs
- GeometryDrawing.cs
- VarInfo.cs
- NotSupportedException.cs
- WebPartVerbsEventArgs.cs
- ThicknessAnimationUsingKeyFrames.cs
- UserNamePasswordValidator.cs
- Monitor.cs
- DocumentXmlWriter.cs
- NativeMethods.cs
- SudsCommon.cs
- SchemaImporterExtensionsSection.cs
- UnauthorizedAccessException.cs
- FormsAuthentication.cs
- StringCollectionMarkupSerializer.cs
- HealthMonitoringSectionHelper.cs
- MasterPageCodeDomTreeGenerator.cs
- SqlNode.cs
- XmlReaderSettings.cs
- CloseCryptoHandleRequest.cs
- BamlResourceSerializer.cs
- NaturalLanguageHyphenator.cs
- SafeFindHandle.cs
- CanonicalXml.cs
- TcpTransportSecurityElement.cs
- List.cs
- IdentityModelDictionary.cs
- ArrayConverter.cs
- TrustManager.cs
- DbConnectionHelper.cs
- BitmapEffectCollection.cs
- NativeMethods.cs