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
- Cell.cs
- SchemaNames.cs
- ConstraintStruct.cs
- TraceListener.cs
- LinqDataSourceDeleteEventArgs.cs
- ContractType.cs
- MimeAnyImporter.cs
- SecurityHelper.cs
- Solver.cs
- PaperSource.cs
- AutomationPatternInfo.cs
- base64Transforms.cs
- METAHEADER.cs
- XmlnsDictionary.cs
- Error.cs
- __Error.cs
- PriorityChain.cs
- IdentityHolder.cs
- TrackBar.cs
- ReflectionTypeLoadException.cs
- ProfileSettings.cs
- SystemIPv4InterfaceProperties.cs
- arclist.cs
- UserNameSecurityTokenProvider.cs
- DefaultBindingPropertyAttribute.cs
- DataGridViewTextBoxCell.cs
- StorageInfo.cs
- CapabilitiesSection.cs
- StateDesigner.LayoutSelectionGlyph.cs
- StringExpressionSet.cs
- FormatException.cs
- RoleManagerEventArgs.cs
- AttachedAnnotation.cs
- RegexCode.cs
- FormViewRow.cs
- MyContact.cs
- BrowserTree.cs
- OdbcTransaction.cs
- CodeMemberProperty.cs
- FrameworkRichTextComposition.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- PageEventArgs.cs
- DataGridViewCheckBoxCell.cs
- SqlConnectionHelper.cs
- CookielessHelper.cs
- ASCIIEncoding.cs
- CharacterString.cs
- TreeNodeCollection.cs
- DataGridViewDataConnection.cs
- XmlNodeChangedEventArgs.cs
- FormatConvertedBitmap.cs
- XmlParserContext.cs
- DocumentViewerHelper.cs
- ClientOptions.cs
- SoapEnumAttribute.cs
- RequiredFieldValidator.cs
- Thickness.cs
- EntityTypeBase.cs
- X509CertificateClaimSet.cs
- ToolStripActionList.cs
- ProcessModelInfo.cs
- RequestCacheManager.cs
- PersistenceTypeAttribute.cs
- InteropTrackingRecord.cs
- AsynchronousChannelMergeEnumerator.cs
- SQLMoneyStorage.cs
- AnnotationAdorner.cs
- Manipulation.cs
- TextTrailingCharacterEllipsis.cs
- WebResourceAttribute.cs
- CookieHandler.cs
- HierarchicalDataTemplate.cs
- ObjectDisposedException.cs
- ArgumentValue.cs
- PerformanceCounter.cs
- HasCopySemanticsAttribute.cs
- ControlParameter.cs
- NetworkCredential.cs
- CodeStatementCollection.cs
- HashUtility.cs
- Decimal.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- XmlSchemaException.cs
- BamlResourceDeserializer.cs
- XmlExtensionFunction.cs
- SafeNativeMethodsOther.cs
- XmlNavigatorFilter.cs
- _StreamFramer.cs
- DoWorkEventArgs.cs
- MSAAEventDispatcher.cs
- ContainsSearchOperator.cs
- SchemaSetCompiler.cs
- DBConnection.cs
- MeshGeometry3D.cs
- BaseUriHelper.cs
- InputLanguageCollection.cs
- PreviousTrackingServiceAttribute.cs
- JournalEntry.cs
- PipelineComponent.cs
- HierarchicalDataSourceControl.cs