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
- WindowsFormsHelpers.cs
- SoapSchemaImporter.cs
- WorkflowMarkupSerializationManager.cs
- AssertFilter.cs
- XPathConvert.cs
- GenericEnumerator.cs
- PocoEntityKeyStrategy.cs
- BindMarkupExtensionSerializer.cs
- TrustManagerPromptUI.cs
- VSWCFServiceContractGenerator.cs
- ColumnMapCopier.cs
- EventPropertyMap.cs
- FilteredReadOnlyMetadataCollection.cs
- RenderingEventArgs.cs
- CustomLineCap.cs
- documentation.cs
- Menu.cs
- TreeNode.cs
- CatalogZone.cs
- IPPacketInformation.cs
- configsystem.cs
- RotateTransform.cs
- OleDbRowUpdatedEvent.cs
- WindowsRegion.cs
- SecurityKeyIdentifierClause.cs
- DbReferenceCollection.cs
- MessagePropertyAttribute.cs
- TemplateComponentConnector.cs
- TickBar.cs
- CellParaClient.cs
- EntityContainerEntitySetDefiningQuery.cs
- EntityTemplateUserControl.cs
- XmlDocumentFragment.cs
- CalculatedColumn.cs
- SpecularMaterial.cs
- NamedElement.cs
- ParallelRangeManager.cs
- BridgeDataRecord.cs
- SafeFileHandle.cs
- TreeNodeBindingCollection.cs
- UrlMappingsModule.cs
- TraceShell.cs
- MetadataSource.cs
- ReadOnlyAttribute.cs
- NumberSubstitution.cs
- XmlWrappingWriter.cs
- FastEncoderWindow.cs
- BrowserCapabilitiesFactory.cs
- CustomPopupPlacement.cs
- UrlMappingCollection.cs
- ConfigurationLocationCollection.cs
- GenericsInstances.cs
- HttpHandlersSection.cs
- DependencyPropertyChangedEventArgs.cs
- FilterException.cs
- JsonDeserializer.cs
- OrthographicCamera.cs
- LinqDataSourceView.cs
- ListSurrogate.cs
- EntityConnectionStringBuilder.cs
- DoubleAnimationUsingKeyFrames.cs
- SecureUICommand.cs
- ThicknessKeyFrameCollection.cs
- HtmlElementCollection.cs
- CompleteWizardStep.cs
- TableProvider.cs
- UiaCoreTypesApi.cs
- _ProxyChain.cs
- EventItfInfo.cs
- TrailingSpaceComparer.cs
- WSUtilitySpecificationVersion.cs
- HijriCalendar.cs
- GreenMethods.cs
- AlternationConverter.cs
- TextParentUndoUnit.cs
- TdsParserStaticMethods.cs
- DesignerMetadata.cs
- WebSysDescriptionAttribute.cs
- MethodBody.cs
- ParameterSubsegment.cs
- _AutoWebProxyScriptHelper.cs
- RangeValueProviderWrapper.cs
- AsmxEndpointPickerExtension.cs
- XmlBindingWorker.cs
- Types.cs
- Pair.cs
- PocoPropertyAccessorStrategy.cs
- VsPropertyGrid.cs
- Classification.cs
- Base64Encoder.cs
- TextDecorationCollection.cs
- MaskedTextBoxTextEditor.cs
- WindowsListViewItemCheckBox.cs
- PointCollectionConverter.cs
- DataGridState.cs
- NumericUpDownAcceleration.cs
- CharUnicodeInfo.cs
- SQLSingleStorage.cs
- NCryptNative.cs
- InvokeAction.cs