Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UrlMappingsModule.cs / 1 / UrlMappingsModule.cs
// 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
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Freezable.cs
- SyndicationDeserializer.cs
- Win32Native.cs
- ZipIOCentralDirectoryFileHeader.cs
- DoubleAnimationBase.cs
- Size3D.cs
- EncodingInfo.cs
- DataGridViewImageColumn.cs
- Helpers.cs
- StructuredTypeInfo.cs
- LoginUtil.cs
- XpsImageSerializationService.cs
- IndexExpression.cs
- OleDbParameter.cs
- ReliableSessionElement.cs
- SqlSelectStatement.cs
- ConstraintEnumerator.cs
- Interlocked.cs
- CompiledXpathExpr.cs
- PrintEvent.cs
- ThreadStateException.cs
- OleDbError.cs
- BamlTreeNode.cs
- CodeTypeOfExpression.cs
- XmlIterators.cs
- AppliedDeviceFiltersDialog.cs
- SqlClientFactory.cs
- SafeArrayRankMismatchException.cs
- FontInfo.cs
- SchemaDeclBase.cs
- DBSchemaTable.cs
- DefaultAsyncDataDispatcher.cs
- MexTcpBindingCollectionElement.cs
- EntitySetBase.cs
- ClientRuntimeConfig.cs
- LinqDataSource.cs
- IDispatchConstantAttribute.cs
- _Win32.cs
- XamlInt32CollectionSerializer.cs
- AuthenticationModeHelper.cs
- OraclePermissionAttribute.cs
- SspiHelper.cs
- SmiMetaData.cs
- ListViewContainer.cs
- SolidBrush.cs
- COAUTHIDENTITY.cs
- Literal.cs
- SelectQueryOperator.cs
- FileIOPermission.cs
- ResXBuildProvider.cs
- BuildManagerHost.cs
- StringBuilder.cs
- EventTrigger.cs
- ScaleTransform.cs
- AppDomainUnloadedException.cs
- InfiniteTimeSpanConverter.cs
- PreApplicationStartMethodAttribute.cs
- ServiceOperationWrapper.cs
- ToolStrip.cs
- ValueChangedEventManager.cs
- MemberMaps.cs
- DesignerProperties.cs
- StrokeCollectionConverter.cs
- WizardPanel.cs
- wgx_render.cs
- WebSysDisplayNameAttribute.cs
- Scene3D.cs
- WebPartVerbCollection.cs
- DispatcherExceptionFilterEventArgs.cs
- Single.cs
- SessionEndedEventArgs.cs
- HttpPostedFile.cs
- ExpressionBinding.cs
- WebPartEditorOkVerb.cs
- ObjectList.cs
- HMACSHA256.cs
- SchemaManager.cs
- CodeExporter.cs
- CodeArgumentReferenceExpression.cs
- OleDbConnection.cs
- TextHidden.cs
- GlobalId.cs
- ImageAttributes.cs
- VectorCollection.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- ChannelParameterCollection.cs
- DebugView.cs
- FormatConvertedBitmap.cs
- FixedStringLookup.cs
- ListenerAdaptersInstallComponent.cs
- PixelShader.cs
- ParseNumbers.cs
- SessionStateModule.cs
- ManagementObjectSearcher.cs
- TextRangeSerialization.cs
- LineGeometry.cs
- GestureRecognitionResult.cs
- PortCache.cs
- InvokeHandlers.cs
- COSERVERINFO.cs