Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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; // } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AttachedPropertyMethodSelector.cs
- HGlobalSafeHandle.cs
- ChtmlCommandAdapter.cs
- StreamingContext.cs
- SelectionRangeConverter.cs
- MsmqBindingBase.cs
- DataControlFieldCollection.cs
- IndentedTextWriter.cs
- PeekCompletedEventArgs.cs
- EntityDataSourceSelectingEventArgs.cs
- HttpCapabilitiesEvaluator.cs
- SafeFileMappingHandle.cs
- ListViewGroup.cs
- ContextStaticAttribute.cs
- ScriptIgnoreAttribute.cs
- SiteMapDataSource.cs
- SamlSubjectStatement.cs
- TextEditorSpelling.cs
- SystemFonts.cs
- WhitespaceRuleLookup.cs
- ForeignConstraint.cs
- NamespaceEmitter.cs
- JulianCalendar.cs
- newitemfactory.cs
- AstNode.cs
- CompositeControl.cs
- _FtpDataStream.cs
- BeginStoryboard.cs
- StringToken.cs
- TokenBasedSet.cs
- ManagementClass.cs
- WebPartConnectionsDisconnectVerb.cs
- NativeMsmqMessage.cs
- DispatcherExceptionFilterEventArgs.cs
- RegexTree.cs
- AppDomainFactory.cs
- FileReservationCollection.cs
- EntityContainerRelationshipSetEnd.cs
- CompilationLock.cs
- LoadWorkflowCommand.cs
- RightNameExpirationInfoPair.cs
- XamlPoint3DCollectionSerializer.cs
- RootDesignerSerializerAttribute.cs
- HashCryptoHandle.cs
- Debug.cs
- InternalControlCollection.cs
- ReadOnlyActivityGlyph.cs
- TextBoxRenderer.cs
- StylusShape.cs
- SR.cs
- CallContext.cs
- TextDocumentView.cs
- Predicate.cs
- Visual3D.cs
- RetrieveVirtualItemEventArgs.cs
- FlowDocumentReader.cs
- AvTraceFormat.cs
- CodeTypeDeclaration.cs
- TreeView.cs
- HttpServerVarsCollection.cs
- Transform3DCollection.cs
- MarshalByValueComponent.cs
- InstanceCreationEditor.cs
- TreeViewHitTestInfo.cs
- JavascriptCallbackBehaviorAttribute.cs
- RegexWorker.cs
- SafeRegistryHandle.cs
- TempFiles.cs
- InternalCache.cs
- EdmConstants.cs
- FileChangesMonitor.cs
- XmlSchemaValidator.cs
- URLAttribute.cs
- TrustSection.cs
- PasswordBoxAutomationPeer.cs
- StateMachine.cs
- EndOfStreamException.cs
- UserPersonalizationStateInfo.cs
- SqlException.cs
- RawStylusInputReport.cs
- BitVector32.cs
- AdapterDictionary.cs
- EUCJPEncoding.cs
- SqlSupersetValidator.cs
- ControlBindingsCollection.cs
- CodeParameterDeclarationExpressionCollection.cs
- Exception.cs
- FontWeight.cs
- contentDescriptor.cs
- BehaviorEditorPart.cs
- ComponentCommands.cs
- ObfuscationAttribute.cs
- FormViewCommandEventArgs.cs
- DockPanel.cs
- _Connection.cs
- PrintPageEvent.cs
- ComplexLine.cs
- SimpleTextLine.cs
- KeyPressEvent.cs
- GridViewCancelEditEventArgs.cs