Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UrlMappingsModule.cs / 2 / 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
- RectangleHotSpot.cs
- PeerDuplexChannelListener.cs
- DropShadowBitmapEffect.cs
- SafeRegistryHandle.cs
- ForwardPositionQuery.cs
- StorageConditionPropertyMapping.cs
- RowToFieldTransformer.cs
- QilPatternFactory.cs
- ProfileProvider.cs
- Substitution.cs
- InputLangChangeRequestEvent.cs
- TemplateBindingExtension.cs
- XmlnsDictionary.cs
- PartialCachingAttribute.cs
- NamedElement.cs
- DropSource.cs
- TaskbarItemInfo.cs
- StrongTypingException.cs
- InitializationEventAttribute.cs
- SqlIdentifier.cs
- HtmlElement.cs
- __TransparentProxy.cs
- SqlRemoveConstantOrderBy.cs
- System.Data_BID.cs
- RelatedView.cs
- TypeValidationEventArgs.cs
- PostBackOptions.cs
- InitialServerConnectionReader.cs
- ContainerParaClient.cs
- QueryOutputWriter.cs
- SlipBehavior.cs
- DockingAttribute.cs
- FlowDocumentReaderAutomationPeer.cs
- CryptoApi.cs
- Timer.cs
- FormCollection.cs
- PaintValueEventArgs.cs
- DefaultValidator.cs
- EventLogEntryCollection.cs
- CodeBlockBuilder.cs
- DataGridBoolColumn.cs
- PrincipalPermission.cs
- TraceHandlerErrorFormatter.cs
- Win32Interop.cs
- AsynchronousChannelMergeEnumerator.cs
- _NegoStream.cs
- ProbeMatchesCD1.cs
- DataServiceClientException.cs
- ToolStripSettings.cs
- MatrixTransform.cs
- Timer.cs
- WebPartCloseVerb.cs
- OleDbWrapper.cs
- TimeManager.cs
- XmlSchemaInclude.cs
- keycontainerpermission.cs
- ListBox.cs
- UpdatePanelControlTrigger.cs
- VectorKeyFrameCollection.cs
- dtdvalidator.cs
- StorageScalarPropertyMapping.cs
- ResourceExpressionBuilder.cs
- CanonicalizationDriver.cs
- ReadOnlyObservableCollection.cs
- DomainConstraint.cs
- DecimalConverter.cs
- PrefixHandle.cs
- WindowsSysHeader.cs
- printdlgexmarshaler.cs
- ToolboxItemFilterAttribute.cs
- ActivityDesignerResources.cs
- Parser.cs
- ConnectionsZoneDesigner.cs
- ToolStripControlHost.cs
- RequiredAttributeAttribute.cs
- BasicCellRelation.cs
- XmlCountingReader.cs
- UnionCodeGroup.cs
- NativeDirectoryServicesQueryAPIs.cs
- MulticastOption.cs
- BamlTreeUpdater.cs
- ErrorProvider.cs
- FlowDecision.cs
- FormsAuthenticationUser.cs
- SqlCrossApplyToCrossJoin.cs
- FamilyTypeface.cs
- LifetimeManager.cs
- ByteStorage.cs
- ServerIdentity.cs
- StretchValidation.cs
- MulticastNotSupportedException.cs
- PEFileReader.cs
- Visual3D.cs
- X509Certificate.cs
- QuadraticEase.cs
- CopyNamespacesAction.cs
- StringUtil.cs
- lengthconverter.cs
- SafeFileMapViewHandle.cs
- CommandValueSerializer.cs