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
- NameScope.cs
- PersistChildrenAttribute.cs
- SiteMapPath.cs
- LineServicesRun.cs
- CodeAttributeDeclarationCollection.cs
- WSFederationHttpSecurity.cs
- StateDesigner.TransitionInfo.cs
- ErrorHandlerModule.cs
- ServiceModelPerformanceCounters.cs
- PageBuildProvider.cs
- MultiPropertyDescriptorGridEntry.cs
- Pair.cs
- FileLevelControlBuilderAttribute.cs
- InvalidDataException.cs
- TextBoxAutoCompleteSourceConverter.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- TemplateBindingExtensionConverter.cs
- ValidationHelpers.cs
- DataExpression.cs
- MissingFieldException.cs
- OdbcStatementHandle.cs
- ClientConvert.cs
- ProgressiveCrcCalculatingStream.cs
- AssemblyAttributesGoHere.cs
- SimpleFieldTemplateUserControl.cs
- FileVersion.cs
- Attributes.cs
- RegexWorker.cs
- FocusChangedEventArgs.cs
- LockedBorderGlyph.cs
- WindowShowOrOpenTracker.cs
- RegexCode.cs
- InvalidAsynchronousStateException.cs
- IdleTimeoutMonitor.cs
- RIPEMD160Managed.cs
- IssuedTokenClientCredential.cs
- UIPermission.cs
- TemplateKey.cs
- HttpCachePolicyElement.cs
- SplayTreeNode.cs
- TypeDescriptor.cs
- AdornerLayer.cs
- DesignerDataRelationship.cs
- securitycriticaldataformultiplegetandset.cs
- SubclassTypeValidatorAttribute.cs
- XamlSerializationHelper.cs
- GacUtil.cs
- LineInfo.cs
- GetCryptoTransformRequest.cs
- ContentElementAutomationPeer.cs
- FormViewCommandEventArgs.cs
- PixelFormats.cs
- EntityWrapper.cs
- TcpSocketManager.cs
- TextEditorLists.cs
- sitestring.cs
- Int16Animation.cs
- TypeBuilderInstantiation.cs
- OperationResponse.cs
- CollaborationHelperFunctions.cs
- DataGridTable.cs
- ToolboxControl.cs
- ListViewDataItem.cs
- XmlSchemaAll.cs
- SpStreamWrapper.cs
- XamlToRtfWriter.cs
- SpellerInterop.cs
- HashStream.cs
- X509Certificate2.cs
- CodeParameterDeclarationExpressionCollection.cs
- SystemPens.cs
- ProxyGenerationError.cs
- ByteStack.cs
- xmlformatgeneratorstatics.cs
- IIS7WorkerRequest.cs
- BaseTemplateBuildProvider.cs
- RepeaterCommandEventArgs.cs
- SevenBitStream.cs
- SequentialOutput.cs
- HotCommands.cs
- EventLogPermissionAttribute.cs
- PagedDataSource.cs
- ConnectionInterfaceCollection.cs
- XPathItem.cs
- SmtpReplyReaderFactory.cs
- GeneralTransform3D.cs
- SafeSecurityHelper.cs
- NavigationPropertyEmitter.cs
- IncrementalHitTester.cs
- EntityClientCacheKey.cs
- ElementHost.cs
- KeyPullup.cs
- FontStretchConverter.cs
- StoreContentChangedEventArgs.cs
- DbDataSourceEnumerator.cs
- XmlMemberMapping.cs
- ZipPackage.cs
- XdrBuilder.cs
- ProxyWebPartManager.cs
- ByteAnimationBase.cs