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 insealed 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
- StylusDevice.cs
- WorkflowView.cs
- ClipboardProcessor.cs
- AlignmentYValidation.cs
- QilXmlWriter.cs
- PrePrepareMethodAttribute.cs
- DataGridViewIntLinkedList.cs
- Thumb.cs
- DataTablePropertyDescriptor.cs
- QilDataSource.cs
- XmlValidatingReader.cs
- NativeMethodsCLR.cs
- ByteStorage.cs
- Transform.cs
- ContextTokenTypeConverter.cs
- DSACryptoServiceProvider.cs
- FileSystemWatcher.cs
- TextCompositionEventArgs.cs
- TreeNodeCollection.cs
- validation.cs
- AttachedPropertiesService.cs
- DesignerCommandSet.cs
- HttpStreamMessage.cs
- PolyBezierSegment.cs
- PersonalizationAdministration.cs
- RsaElement.cs
- CLSCompliantAttribute.cs
- SafeCloseHandleCritical.cs
- TreeWalkHelper.cs
- ModelUIElement3D.cs
- PartialTrustHelpers.cs
- XMLUtil.cs
- TableItemStyle.cs
- DataServiceConfiguration.cs
- StylusPointProperties.cs
- TextCharacters.cs
- VBIdentifierName.cs
- SessionIDManager.cs
- OdbcEnvironment.cs
- ErrorTableItemStyle.cs
- LabelTarget.cs
- XslCompiledTransform.cs
- DbParameterCollectionHelper.cs
- mediaeventshelper.cs
- SplitterEvent.cs
- ZipFileInfo.cs
- MouseDevice.cs
- ScriptingWebServicesSectionGroup.cs
- Buffer.cs
- StrongNameIdentityPermission.cs
- ReflectPropertyDescriptor.cs
- ProtectedConfigurationSection.cs
- DtcInterfaces.cs
- XmlIlTypeHelper.cs
- BulletedListEventArgs.cs
- DSACryptoServiceProvider.cs
- AutoScrollExpandMessageFilter.cs
- UnsafeNativeMethods.cs
- PathSegmentCollection.cs
- SmtpReplyReaderFactory.cs
- DataGridViewSelectedCellCollection.cs
- RecognitionEventArgs.cs
- BuildProvider.cs
- BinHexEncoding.cs
- PolicyManager.cs
- SocketElement.cs
- HtmlTextViewAdapter.cs
- CategoryNameCollection.cs
- SoapIgnoreAttribute.cs
- IsolatedStorage.cs
- PrintPreviewDialog.cs
- TreeViewImageIndexConverter.cs
- EncodingDataItem.cs
- ContextMenuStripGroupCollection.cs
- DataGridViewCellCollection.cs
- List.cs
- QueryableDataSourceHelper.cs
- TreeNodeCollection.cs
- WrappedIUnknown.cs
- Speller.cs
- SchemaReference.cs
- HttpStaticObjectsCollectionBase.cs
- ReversePositionQuery.cs
- CharacterString.cs
- SqlCommandBuilder.cs
- HttpListener.cs
- BinaryParser.cs
- InteropDesigner.xaml.cs
- Speller.cs
- SmtpException.cs
- ToolStripContainer.cs
- shaperfactory.cs
- UpdateCommand.cs
- Cursors.cs
- XmlNodeChangedEventArgs.cs
- DataSourceExpression.cs
- AxisAngleRotation3D.cs
- IDataContractSurrogate.cs
- XmlSortKey.cs
- BasicHttpSecurityElement.cs