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
- GridItemProviderWrapper.cs
- AddInAttribute.cs
- SortQuery.cs
- ComponentCollection.cs
- SQLDateTime.cs
- DataGridSortCommandEventArgs.cs
- SymDocumentType.cs
- BitmapEffectCollection.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- PenContexts.cs
- UrlAuthorizationModule.cs
- SimpleApplicationHost.cs
- SqlBinder.cs
- WindowsTreeView.cs
- Base64Decoder.cs
- HandlerMappingMemo.cs
- ThousandthOfEmRealPoints.cs
- AssociatedControlConverter.cs
- WindowsGraphics2.cs
- BezierSegment.cs
- ResourceProviderFactory.cs
- XpsManager.cs
- SiteOfOriginPart.cs
- RectangleHotSpot.cs
- WsatServiceCertificate.cs
- MetadataPropertyAttribute.cs
- BaseCodePageEncoding.cs
- Library.cs
- ReceiveMessageContent.cs
- Constraint.cs
- GridItemProviderWrapper.cs
- EdmSchemaAttribute.cs
- Application.cs
- DataRowComparer.cs
- SqlDataSourceRefreshSchemaForm.cs
- DataObjectAttribute.cs
- PersonalizationDictionary.cs
- OdbcConnectionFactory.cs
- TextServicesDisplayAttribute.cs
- Int64AnimationUsingKeyFrames.cs
- SpellerHighlightLayer.cs
- SystemInfo.cs
- ErrorHandlerModule.cs
- HighContrastHelper.cs
- DiscoveryRequestHandler.cs
- ControlParameter.cs
- DataGridRow.cs
- validationstate.cs
- Propagator.Evaluator.cs
- RegexNode.cs
- SoapFormatExtensions.cs
- PersonalizableAttribute.cs
- TextElementEditingBehaviorAttribute.cs
- GestureRecognizer.cs
- RangeValueProviderWrapper.cs
- ICspAsymmetricAlgorithm.cs
- JournalEntryStack.cs
- MetaModel.cs
- ObjectDisposedException.cs
- MembershipUser.cs
- MarginsConverter.cs
- NameValueCache.cs
- SmtpFailedRecipientsException.cs
- RadioButtonFlatAdapter.cs
- FixedDocumentPaginator.cs
- ActivityExecutorDelegateInfo.cs
- DependencyObjectType.cs
- MaskDesignerDialog.cs
- ProcessStartInfo.cs
- OutputScope.cs
- XsdBuilder.cs
- SqlProviderServices.cs
- SemanticResultKey.cs
- GB18030Encoding.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ButtonBaseAutomationPeer.cs
- Constraint.cs
- WebPartMovingEventArgs.cs
- EncryptedType.cs
- ListViewUpdateEventArgs.cs
- DecimalConverter.cs
- BooleanSwitch.cs
- FixedBufferAttribute.cs
- DependencyPropertyConverter.cs
- GZipStream.cs
- Message.cs
- DBSchemaTable.cs
- IndicFontClient.cs
- CodeDOMProvider.cs
- RC2.cs
- WebPartConnectionsConnectVerb.cs
- CodeNamespaceImport.cs
- IPHostEntry.cs
- QuadraticBezierSegment.cs
- HandlerBase.cs
- ResXFileRef.cs
- Polygon.cs
- DependencyPropertyHelper.cs
- BaseDataList.cs
- DefaultPrintController.cs