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 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;
// }
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebPartManagerDesigner.cs
- ProxyManager.cs
- PrintDocument.cs
- StringValueSerializer.cs
- AssemblyResourceLoader.cs
- SerializationObjectManager.cs
- ConstructorExpr.cs
- TransformerTypeCollection.cs
- Int16Storage.cs
- SectionInput.cs
- NullableConverter.cs
- Empty.cs
- WsatProxy.cs
- CodeDomExtensionMethods.cs
- ScaleTransform.cs
- DetailsViewCommandEventArgs.cs
- ReflectionPermission.cs
- MsmqTransportElement.cs
- SoapAttributes.cs
- WebSysDefaultValueAttribute.cs
- InvalidAsynchronousStateException.cs
- SplitContainer.cs
- WindowHideOrCloseTracker.cs
- GcSettings.cs
- UserValidatedEventArgs.cs
- FactoryGenerator.cs
- ConfigXmlComment.cs
- DocumentViewerBase.cs
- SudsParser.cs
- HttpValueCollection.cs
- Brush.cs
- _FixedSizeReader.cs
- BinaryObjectWriter.cs
- XmlKeywords.cs
- IntranetCredentialPolicy.cs
- TextAutomationPeer.cs
- Int16AnimationBase.cs
- JulianCalendar.cs
- EventMappingSettings.cs
- IriParsingElement.cs
- SingleTagSectionHandler.cs
- JavaScriptObjectDeserializer.cs
- ExecutionProperties.cs
- CookielessHelper.cs
- WindowsBrush.cs
- UserPreferenceChangedEventArgs.cs
- GrammarBuilderPhrase.cs
- ElementProxy.cs
- TextEditorContextMenu.cs
- FragmentNavigationEventArgs.cs
- HttpContext.cs
- Control.cs
- SoapEnumAttribute.cs
- BamlRecords.cs
- CodeAttributeDeclarationCollection.cs
- CultureSpecificStringDictionary.cs
- MouseActionValueSerializer.cs
- MarshalByValueComponent.cs
- AttributeData.cs
- InsufficientExecutionStackException.cs
- StringPropertyBuilder.cs
- Boolean.cs
- PersonalizationStateQuery.cs
- FileUtil.cs
- SpellerError.cs
- UriSectionData.cs
- GridViewSelectEventArgs.cs
- CodeDirectiveCollection.cs
- FieldCollectionEditor.cs
- TemplateBuilder.cs
- RegexWriter.cs
- Permission.cs
- PluralizationService.cs
- MetafileHeaderWmf.cs
- OptionUsage.cs
- InsufficientMemoryException.cs
- ObjectDataProvider.cs
- OptionalColumn.cs
- Queue.cs
- httpstaticobjectscollection.cs
- Debug.cs
- LastQueryOperator.cs
- webproxy.cs
- CfgRule.cs
- VirtualPath.cs
- ScriptControlManager.cs
- GridViewSelectEventArgs.cs
- Oid.cs
- CollectionViewSource.cs
- GridViewCancelEditEventArgs.cs
- OperationCanceledException.cs
- OneOfElement.cs
- FormsAuthenticationConfiguration.cs
- srgsitem.cs
- OdbcRowUpdatingEvent.cs
- SqlBulkCopyColumnMappingCollection.cs
- SignatureHelper.cs
- bidPrivateBase.cs
- WebPartEditorApplyVerb.cs
- GradientStop.cs