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
- DeviceContext.cs
- GeneratedContractType.cs
- adornercollection.cs
- TypeUtil.cs
- AutoResizedEvent.cs
- SqlCacheDependencyDatabaseCollection.cs
- ConfigurationLocation.cs
- TreeNodeEventArgs.cs
- XAMLParseException.cs
- _AcceptOverlappedAsyncResult.cs
- QilFunction.cs
- XpsImage.cs
- SafeNativeMethods.cs
- URL.cs
- TextBoxBase.cs
- ConfigXmlElement.cs
- TabItemAutomationPeer.cs
- httpstaticobjectscollection.cs
- OdbcUtils.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SimpleBitVector32.cs
- System.Data.OracleClient_BID.cs
- ProviderCommandInfoUtils.cs
- Dispatcher.cs
- XamlContextStack.cs
- ResourceDictionary.cs
- ControlCachePolicy.cs
- RtType.cs
- ObjectIDGenerator.cs
- WrappedKeySecurityTokenParameters.cs
- ScaleTransform3D.cs
- ResourceReferenceKeyNotFoundException.cs
- ErrorWrapper.cs
- OracleConnectionString.cs
- SqlComparer.cs
- XmlSchemaObject.cs
- ResourceDescriptionAttribute.cs
- CDSsyncETWBCLProvider.cs
- DataTableMapping.cs
- SharedConnectionListener.cs
- ContainerControlDesigner.cs
- iisPickupDirectory.cs
- ProofTokenCryptoHandle.cs
- FindCriteria.cs
- ScaleTransform3D.cs
- UserInitiatedRoutedEventPermission.cs
- Win32SafeHandles.cs
- FillErrorEventArgs.cs
- FixedDocumentSequencePaginator.cs
- EventSinkHelperWriter.cs
- KerberosSecurityTokenAuthenticator.cs
- Thread.cs
- ContravarianceAdapter.cs
- DoubleConverter.cs
- RegisteredScript.cs
- DataContractJsonSerializerOperationBehavior.cs
- InnerItemCollectionView.cs
- SortQueryOperator.cs
- IntellisenseTextBox.designer.cs
- HttpCookieCollection.cs
- ExpressionCopier.cs
- CompressionTransform.cs
- TimeSpanMinutesConverter.cs
- GenericRootAutomationPeer.cs
- FusionWrap.cs
- SingleStorage.cs
- SqlComparer.cs
- WSSecureConversationFeb2005.cs
- EdmType.cs
- SynchronizationValidator.cs
- APCustomTypeDescriptor.cs
- HandleCollector.cs
- StateMachineTimers.cs
- NetCodeGroup.cs
- ModifierKeysValueSerializer.cs
- WebPartConnectionsEventArgs.cs
- SQLMoneyStorage.cs
- RequestQueue.cs
- AuthorizationSection.cs
- XamlLoadErrorInfo.cs
- CacheMemory.cs
- EventListener.cs
- PnrpPermission.cs
- DataGridClipboardCellContent.cs
- PeerTransportSecuritySettings.cs
- DataGridViewImageColumn.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- XsltContext.cs
- TextureBrush.cs
- WizardPanel.cs
- ConfigurationValue.cs
- RelationshipEnd.cs
- DataKeyCollection.cs
- RoutedEventValueSerializer.cs
- ProxyGenerationError.cs
- PartitionedStream.cs
- ClientConvert.cs
- XmlLanguageConverter.cs
- FilterQueryOptionExpression.cs
- HttpResponseHeader.cs