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
- WindowsListViewItemStartMenu.cs
- TrustManagerMoreInformation.cs
- HttpConfigurationSystem.cs
- DispatcherSynchronizationContext.cs
- GridViewDeletedEventArgs.cs
- XsdBuilder.cs
- DynamicField.cs
- XmlSchemaChoice.cs
- TimeoutStream.cs
- OdbcDataReader.cs
- UpdateException.cs
- WpfSharedXamlSchemaContext.cs
- ProfileService.cs
- FolderNameEditor.cs
- AssemblyCollection.cs
- FixedTextSelectionProcessor.cs
- DataSourceHelper.cs
- BinaryObjectReader.cs
- XhtmlBasicFormAdapter.cs
- ProviderUtil.cs
- ConfigViewGenerator.cs
- SimpleWorkerRequest.cs
- MustUnderstandSoapException.cs
- GroupJoinQueryOperator.cs
- ConfigurationLocationCollection.cs
- ExpressionBuilderCollection.cs
- TransformerConfigurationWizardBase.cs
- AxDesigner.cs
- Wizard.cs
- OleDbCommandBuilder.cs
- PropertyToken.cs
- XmlSchemas.cs
- CharEntityEncoderFallback.cs
- ActivityTrace.cs
- ProgramPublisher.cs
- CodeGenerator.cs
- ListDataBindEventArgs.cs
- ToolStripDropDownClosedEventArgs.cs
- PropertyGeneratedEventArgs.cs
- IUnknownConstantAttribute.cs
- SecureConversationSecurityTokenParameters.cs
- RelationshipEnd.cs
- CdpEqualityComparer.cs
- SafeFileHandle.cs
- XmlAnyElementAttribute.cs
- SpellerHighlightLayer.cs
- DPTypeDescriptorContext.cs
- FieldAccessException.cs
- Content.cs
- CodeAccessSecurityEngine.cs
- PropertyEmitterBase.cs
- ReadOnlyHierarchicalDataSourceView.cs
- RegexBoyerMoore.cs
- WindowsGraphicsCacheManager.cs
- TextBlock.cs
- PerformanceCounterManager.cs
- InstanceDescriptor.cs
- mediaeventargs.cs
- SortableBindingList.cs
- TemplateComponentConnector.cs
- WriteStateInfoBase.cs
- CheckBox.cs
- LinqDataSourceValidationException.cs
- RegularExpressionValidator.cs
- XPathScanner.cs
- Int64AnimationUsingKeyFrames.cs
- IndicCharClassifier.cs
- DataGridViewRowsRemovedEventArgs.cs
- ThemeInfoAttribute.cs
- XsdCachingReader.cs
- CompModSwitches.cs
- XmlSchemaAttributeGroupRef.cs
- SchemaEntity.cs
- CommandBinding.cs
- ButtonPopupAdapter.cs
- CodeDirectiveCollection.cs
- sqlstateclientmanager.cs
- ValueExpressions.cs
- SqlRecordBuffer.cs
- DataGrid.cs
- Operator.cs
- SkinBuilder.cs
- SmiEventSink.cs
- AuthStoreRoleProvider.cs
- ContentElement.cs
- Evidence.cs
- RemoveStoryboard.cs
- RectangleConverter.cs
- HtmlElementErrorEventArgs.cs
- Deserializer.cs
- FormClosingEvent.cs
- RewritingPass.cs
- PageThemeParser.cs
- __FastResourceComparer.cs
- LineUtil.cs
- MDIControlStrip.cs
- UrlAuthFailedErrorFormatter.cs
- ScrollBarRenderer.cs
- TreeViewCancelEvent.cs
- RSAProtectedConfigurationProvider.cs