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
- ToolboxItem.cs
- StrongNameIdentityPermission.cs
- RenderDataDrawingContext.cs
- SqlProfileProvider.cs
- ADMembershipProvider.cs
- InternalConfigHost.cs
- MetaColumn.cs
- DesignTimeParseData.cs
- NavigationProperty.cs
- InstanceDataCollectionCollection.cs
- GridViewRowEventArgs.cs
- OrderByBuilder.cs
- TreeNodeConverter.cs
- HostProtectionPermission.cs
- XmlCharCheckingWriter.cs
- HttpCapabilitiesSectionHandler.cs
- ReadOnlyDataSourceView.cs
- FacetDescriptionElement.cs
- DocumentPageViewAutomationPeer.cs
- CompositeTypefaceMetrics.cs
- CompiledAction.cs
- DataGridViewRowCancelEventArgs.cs
- SqlBulkCopyColumnMapping.cs
- XmlSchemaAttributeGroup.cs
- ToolBarButtonClickEvent.cs
- TheQuery.cs
- ListBoxItemAutomationPeer.cs
- RecognizeCompletedEventArgs.cs
- CodeMemberProperty.cs
- ObjectStateFormatter.cs
- SafeLocalMemHandle.cs
- RadialGradientBrush.cs
- TextReader.cs
- FormatVersion.cs
- DataSourceIDConverter.cs
- InvalidProgramException.cs
- StyleCollection.cs
- GridProviderWrapper.cs
- StrokeNodeData.cs
- BuiltInExpr.cs
- PrintDocument.cs
- DynamicDocumentPaginator.cs
- FileDialog_Vista.cs
- SafePEFileHandle.cs
- FixedSchema.cs
- OleDbParameterCollection.cs
- CheckBoxField.cs
- ListControlConvertEventArgs.cs
- TypeDelegator.cs
- TransformPatternIdentifiers.cs
- VersionedStreamOwner.cs
- FragmentNavigationEventArgs.cs
- WebPart.cs
- EditorReuseAttribute.cs
- WebPartAuthorizationEventArgs.cs
- FontNamesConverter.cs
- KnownBoxes.cs
- NameGenerator.cs
- GlyphRunDrawing.cs
- _Rfc2616CacheValidators.cs
- ReadOnlyDataSource.cs
- HMACRIPEMD160.cs
- NegatedCellConstant.cs
- ReceiveCompletedEventArgs.cs
- CAGDesigner.cs
- Visitor.cs
- PrtCap_Builder.cs
- PrintDialogDesigner.cs
- FormsAuthenticationCredentials.cs
- ThousandthOfEmRealPoints.cs
- WriteStateInfoBase.cs
- Vector3DKeyFrameCollection.cs
- XmlDictionaryReader.cs
- DesignerHierarchicalDataSourceView.cs
- ObjectTypeMapping.cs
- PrincipalPermission.cs
- SchemaComplexType.cs
- __ConsoleStream.cs
- PermissionSet.cs
- sqlcontext.cs
- CodeExpressionStatement.cs
- IndentTextWriter.cs
- CmsInterop.cs
- ChannelTerminatedException.cs
- ExpressionBinding.cs
- Console.cs
- LZCodec.cs
- PointCollectionValueSerializer.cs
- XmlDataProvider.cs
- EventOpcode.cs
- SeekStoryboard.cs
- OLEDB_Util.cs
- AnonymousIdentificationModule.cs
- RuleAction.cs
- ExtendedPropertyCollection.cs
- AutomationElementIdentifiers.cs
- ImageSourceConverter.cs
- ExpressionDumper.cs
- EntityDataSource.cs
- Int16Converter.cs