Code:
/ FX-1434 / FX-1434 / 1.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
- AddInIpcChannel.cs
- HScrollBar.cs
- ResourceManagerWrapper.cs
- AssemblyAttributesGoHere.cs
- TextTreeText.cs
- HttpsHostedTransportConfiguration.cs
- EntityDataSourceDesigner.cs
- IndentedWriter.cs
- HostUtils.cs
- FirstQueryOperator.cs
- GeometryValueSerializer.cs
- FileUpload.cs
- Message.cs
- VerificationException.cs
- ToolStripMenuItemDesigner.cs
- RouteItem.cs
- xamlnodes.cs
- _StreamFramer.cs
- ObjectView.cs
- SchemaTableColumn.cs
- AssemblyNameProxy.cs
- SafeEventLogWriteHandle.cs
- HashCodeCombiner.cs
- BooleanExpr.cs
- SendKeys.cs
- DefaultBinder.cs
- SafeSecurityHandles.cs
- CompoundFileReference.cs
- CustomAttributeFormatException.cs
- SizeAnimationBase.cs
- CallId.cs
- MustUnderstandBehavior.cs
- DoubleConverter.cs
- GridSplitterAutomationPeer.cs
- ProcessDesigner.cs
- TcpWorkerProcess.cs
- ParameterDataSourceExpression.cs
- HiddenFieldPageStatePersister.cs
- SourceSwitch.cs
- login.cs
- webeventbuffer.cs
- DictionaryMarkupSerializer.cs
- Soap12FormatExtensions.cs
- _ScatterGatherBuffers.cs
- TailCallAnalyzer.cs
- Rotation3DAnimationBase.cs
- SqlTypesSchemaImporter.cs
- AuthorizationRule.cs
- SecurityRuntime.cs
- DesignerPerfEventProvider.cs
- RequestCachePolicy.cs
- EmptyImpersonationContext.cs
- BufferModeSettings.cs
- Delegate.cs
- ColorConverter.cs
- BreadCrumbTextConverter.cs
- OutputCacheProfile.cs
- DeferredSelectedIndexReference.cs
- XPathNodeInfoAtom.cs
- WindowsGrip.cs
- JsonSerializer.cs
- OdbcConnectionString.cs
- CompositeActivityDesigner.cs
- invalidudtexception.cs
- SslStream.cs
- SqlProviderManifest.cs
- BitConverter.cs
- InternalCompensate.cs
- HostedElements.cs
- NotImplementedException.cs
- InstancePersistence.cs
- ConfigXmlAttribute.cs
- MsmqInputMessagePool.cs
- SynchronizedDispatch.cs
- DefaultValueMapping.cs
- latinshape.cs
- CommandHelpers.cs
- SiteMapNode.cs
- HelpInfo.cs
- FacetEnabledSchemaElement.cs
- KnownBoxes.cs
- RegexTree.cs
- ReadOnlyCollection.cs
- BrushValueSerializer.cs
- AssemblyAttributes.cs
- DataSourceNameHandler.cs
- Zone.cs
- TextShapeableCharacters.cs
- ScriptComponentDescriptor.cs
- MissingMemberException.cs
- QueryOperationResponseOfT.cs
- SequenceFullException.cs
- Rect.cs
- ClientRuntimeConfig.cs
- DiagnosticsConfigurationHandler.cs
- ActivityMarkupSerializer.cs
- ValueChangedEventManager.cs
- WSAddressing10ProblemHeaderQNameFault.cs
- SiteMapNodeCollection.cs
- BindingContext.cs