Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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 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.
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
- CanExecuteRoutedEventArgs.cs
- ClockController.cs
- HtmlControl.cs
- NamedObject.cs
- CodeDomSerializer.cs
- KeyInterop.cs
- EdmComplexTypeAttribute.cs
- ControlParameter.cs
- TypeSystemProvider.cs
- CompositeDispatchFormatter.cs
- DSACryptoServiceProvider.cs
- CharEnumerator.cs
- DbgUtil.cs
- ExpressionNormalizer.cs
- HtmlContainerControl.cs
- SubqueryRules.cs
- Not.cs
- XmlConverter.cs
- HTTPNotFoundHandler.cs
- ClassHandlersStore.cs
- StringUtil.cs
- Activator.cs
- ToolStripManager.cs
- WebServicesSection.cs
- login.cs
- ListMarkerSourceInfo.cs
- TemplateBindingExtension.cs
- PenContext.cs
- ManagedIStream.cs
- WebSysDescriptionAttribute.cs
- PropagationProtocolsTracing.cs
- DataGridViewColumnStateChangedEventArgs.cs
- WindowsProgressbar.cs
- ProjectionCamera.cs
- NewArray.cs
- GlyphingCache.cs
- BaseServiceProvider.cs
- Frame.cs
- CharacterBuffer.cs
- SemanticResolver.cs
- EUCJPEncoding.cs
- AccessControlList.cs
- ControlIdConverter.cs
- PropertyTab.cs
- EventTrigger.cs
- AuthenticationException.cs
- PersonalizationProvider.cs
- ToolStripItemCollection.cs
- TypeReference.cs
- GenericXmlSecurityToken.cs
- VectorAnimation.cs
- ProcessExitedException.cs
- ItemCheckEvent.cs
- PartialClassGenerationTask.cs
- autovalidator.cs
- GeometryDrawing.cs
- DockProviderWrapper.cs
- SocketPermission.cs
- DataGridState.cs
- AnonymousIdentificationModule.cs
- FrameworkObject.cs
- XamlStream.cs
- PingReply.cs
- DataFormats.cs
- CacheVirtualItemsEvent.cs
- SingleSelectRootGridEntry.cs
- BaseCodePageEncoding.cs
- ApplicationSecurityManager.cs
- VersionedStream.cs
- SystemBrushes.cs
- DataSetSchema.cs
- IgnoreSectionHandler.cs
- AnnotationAuthorChangedEventArgs.cs
- CustomError.cs
- AnchoredBlock.cs
- MsmqHostedTransportConfiguration.cs
- TextCompositionManager.cs
- OracleParameterCollection.cs
- WebPartAddingEventArgs.cs
- TimelineGroup.cs
- WebBaseEventKeyComparer.cs
- DependentList.cs
- FullTextLine.cs
- MouseOverProperty.cs
- XamlVector3DCollectionSerializer.cs
- RsaEndpointIdentity.cs
- HtmlSelect.cs
- XPathQilFactory.cs
- ProxyWebPartConnectionCollection.cs
- XmlSchemaExporter.cs
- DetailsViewUpdateEventArgs.cs
- DataPagerFieldItem.cs
- SynchronizationContext.cs
- RemotingSurrogateSelector.cs
- DataControlImageButton.cs
- NameSpaceEvent.cs
- BoolExpr.cs
- COM2ColorConverter.cs
- DataRecordInfo.cs
- Bitmap.cs