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
- Int16AnimationBase.cs
- SQLUtility.cs
- DataBindingCollectionConverter.cs
- SQLResource.cs
- XmlSchemaException.cs
- WebServiceHandler.cs
- RequestResizeEvent.cs
- PrimitiveXmlSerializers.cs
- BinaryEditor.cs
- IpcChannel.cs
- Expression.cs
- HtmlTableRowCollection.cs
- EditBehavior.cs
- DoubleAnimationUsingPath.cs
- SecurityContext.cs
- XmlWellformedWriter.cs
- Events.cs
- ContextProperty.cs
- FixedFlowMap.cs
- ColorTransformHelper.cs
- XmlCustomFormatter.cs
- TemplatedWizardStep.cs
- WebPartEventArgs.cs
- ZoneIdentityPermission.cs
- File.cs
- DeferrableContentConverter.cs
- RecordsAffectedEventArgs.cs
- XXXOnTypeBuilderInstantiation.cs
- CatalogPartCollection.cs
- StylusLogic.cs
- MatrixAnimationBase.cs
- HttpValueCollection.cs
- AsymmetricSignatureFormatter.cs
- LayoutTableCell.cs
- MetadataImporterQuotas.cs
- RootBrowserWindowProxy.cs
- WindowsBrush.cs
- TextAutomationPeer.cs
- ColorKeyFrameCollection.cs
- SizeIndependentAnimationStorage.cs
- BaseParagraph.cs
- TemplateColumn.cs
- odbcmetadatacolumnnames.cs
- Point3D.cs
- NamespaceEmitter.cs
- OpenTypeCommon.cs
- __Filters.cs
- ImageFormat.cs
- DictionaryContent.cs
- DeobfuscatingStream.cs
- XmlWriterSettings.cs
- BindingCompleteEventArgs.cs
- RightsManagementEncryptedStream.cs
- DisplayMemberTemplateSelector.cs
- ReadOnlyTernaryTree.cs
- CultureInfoConverter.cs
- DataControlImageButton.cs
- DeferredElementTreeState.cs
- DecimalAnimationBase.cs
- PassportAuthenticationEventArgs.cs
- WebPageTraceListener.cs
- NativeRightsManagementAPIsStructures.cs
- TransactionManager.cs
- Screen.cs
- BindingNavigator.cs
- GridViewUpdateEventArgs.cs
- MissingMemberException.cs
- PriorityItem.cs
- EdmComplexPropertyAttribute.cs
- ResizeGrip.cs
- StrongNameKeyPair.cs
- ButtonStandardAdapter.cs
- listviewsubitemcollectioneditor.cs
- RMEnrollmentPage3.cs
- QuaternionRotation3D.cs
- HandleExceptionArgs.cs
- IndexedString.cs
- OdbcCommand.cs
- BamlResourceContent.cs
- DataColumnChangeEvent.cs
- _NativeSSPI.cs
- PaginationProgressEventArgs.cs
- GridLengthConverter.cs
- HitTestWithPointDrawingContextWalker.cs
- ConsumerConnectionPoint.cs
- InputLanguageProfileNotifySink.cs
- KnownColorTable.cs
- Light.cs
- Hash.cs
- ItemsControl.cs
- SynchronizationContextHelper.cs
- ProjectionPruner.cs
- CodeAttributeDeclaration.cs
- ChtmlLinkAdapter.cs
- EventlogProvider.cs
- WorkflowRuntimeEndpoint.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- FrameDimension.cs
- DataProtection.cs