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
- AutomationPeer.cs
- CodeSnippetExpression.cs
- Hex.cs
- GenericIdentity.cs
- RowParagraph.cs
- TemplateFactory.cs
- RewritingProcessor.cs
- ResourceDefaultValueAttribute.cs
- AnnotationResourceCollection.cs
- StructuredTypeEmitter.cs
- XmlTextEncoder.cs
- GlobalProxySelection.cs
- ExpressionNode.cs
- NativeMethods.cs
- ParserOptions.cs
- CookieParameter.cs
- FormViewPagerRow.cs
- X509AsymmetricSecurityKey.cs
- SimplePropertyEntry.cs
- Menu.cs
- DesignSurface.cs
- BypassElementCollection.cs
- Compensation.cs
- TextFindEngine.cs
- Scheduler.cs
- ClientConvert.cs
- sqlser.cs
- BamlRecordWriter.cs
- AppDomainProtocolHandler.cs
- LicFileLicenseProvider.cs
- ImageAttributes.cs
- TypefaceCollection.cs
- XmlQualifiedName.cs
- UidManager.cs
- AttributeData.cs
- CqlParser.cs
- HttpRequestCacheValidator.cs
- ListSortDescriptionCollection.cs
- WindowsHyperlink.cs
- MasterPage.cs
- RelatedView.cs
- ListChangedEventArgs.cs
- AnimatedTypeHelpers.cs
- FrameworkContextData.cs
- TranslateTransform.cs
- KeyTime.cs
- BitFlagsGenerator.cs
- ConstructorBuilder.cs
- Normalization.cs
- ToolStripCodeDomSerializer.cs
- WebPartConnectionsCancelEventArgs.cs
- ProxyElement.cs
- DBNull.cs
- MediaContextNotificationWindow.cs
- TextFormatterContext.cs
- CrossContextChannel.cs
- DurableInstance.cs
- Pair.cs
- ADConnectionHelper.cs
- DataSysAttribute.cs
- TheQuery.cs
- TemplateManager.cs
- WriteFileContext.cs
- Int64Animation.cs
- ExtensibleClassFactory.cs
- EntityClassGenerator.cs
- TreeIterators.cs
- Guid.cs
- unsafeIndexingFilterStream.cs
- SecurityContext.cs
- DrawingServices.cs
- RawStylusInputReport.cs
- SecurityPolicySection.cs
- ProviderException.cs
- DataGridViewLayoutData.cs
- ZipIOExtraFieldElement.cs
- Compensate.cs
- DataGridViewImageCell.cs
- TraceContextEventArgs.cs
- XhtmlConformanceSection.cs
- EntityCollectionChangedParams.cs
- ConnectionStringsSection.cs
- SplayTreeNode.cs
- MsmqIntegrationBindingElement.cs
- TreeBuilderXamlTranslator.cs
- XhtmlBasicCommandAdapter.cs
- _ContextAwareResult.cs
- glyphs.cs
- BulletedList.cs
- QueryExpr.cs
- SelectorItemAutomationPeer.cs
- XmlTextAttribute.cs
- GridViewRow.cs
- BevelBitmapEffect.cs
- XmlReflectionMember.cs
- PathData.cs
- hresults.cs
- AutomationElement.cs
- Main.cs
- LoadedOrUnloadedOperation.cs