Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UrlMappingsModule.cs / 1 / UrlMappingsModule.cs
// Copyright (c) Microsoft Corporation. All rights reserved. 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 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; // } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. 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 in sealed 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 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; // } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LoginStatusDesigner.cs
- DataControlFieldCell.cs
- ToolStripDesignerAvailabilityAttribute.cs
- PasswordRecoveryDesigner.cs
- MetabaseServerConfig.cs
- RegexMatch.cs
- InstalledFontCollection.cs
- TextEditorCopyPaste.cs
- securitymgrsite.cs
- FormViewPageEventArgs.cs
- MethodBody.cs
- XmlNullResolver.cs
- RootBuilder.cs
- HttpModuleCollection.cs
- CapabilitiesUse.cs
- Expressions.cs
- Listbox.cs
- DetailsViewDeleteEventArgs.cs
- XmlQueryRuntime.cs
- SystemIPv4InterfaceProperties.cs
- CompiledRegexRunner.cs
- TargetConverter.cs
- TokenCreationException.cs
- WebControlAdapter.cs
- VSWCFServiceContractGenerator.cs
- unsafeIndexingFilterStream.cs
- RequestChannelBinder.cs
- ParameterCollection.cs
- StackBuilderSink.cs
- TraceLevelStore.cs
- BaseUriHelper.cs
- AutoResetEvent.cs
- GroupItemAutomationPeer.cs
- X509ChainPolicy.cs
- EditorZoneBase.cs
- DateTimeConverter2.cs
- DiagnosticsElement.cs
- ReflectionPermission.cs
- UnionCodeGroup.cs
- DataBindingCollection.cs
- DbReferenceCollection.cs
- PopOutPanel.cs
- TreeNodeBinding.cs
- DefaultHttpHandler.cs
- Crypto.cs
- MemberPath.cs
- EntityDataSourceContextDisposingEventArgs.cs
- DesignerAttributeInfo.cs
- EncryptedKey.cs
- ModelChangedEventArgsImpl.cs
- Base64Encoder.cs
- DataPagerCommandEventArgs.cs
- CacheVirtualItemsEvent.cs
- BufferBuilder.cs
- AvtEvent.cs
- DesignerVerbToolStripMenuItem.cs
- MULTI_QI.cs
- SelectionProviderWrapper.cs
- ContentElementAutomationPeer.cs
- BuildResultCache.cs
- DataObjectMethodAttribute.cs
- DataGridItemEventArgs.cs
- WinEventWrap.cs
- ServiceEndpointElementCollection.cs
- TraceHandler.cs
- Int32Animation.cs
- GroupItemAutomationPeer.cs
- GeneralTransform3DTo2D.cs
- TextSelection.cs
- uribuilder.cs
- StdValidatorsAndConverters.cs
- ReflectPropertyDescriptor.cs
- WebBrowserDocumentCompletedEventHandler.cs
- HtmlInputText.cs
- UnsafePeerToPeerMethods.cs
- Code.cs
- WebSysDisplayNameAttribute.cs
- SpellerStatusTable.cs
- SafeCryptoHandles.cs
- DeflateStream.cs
- IChannel.cs
- QueryOutputWriter.cs
- Error.cs
- GeneralTransformGroup.cs
- RepeatButtonAutomationPeer.cs
- ReflectionHelper.cs
- XmlDocumentSerializer.cs
- DataRow.cs
- XmlNode.cs
- WeakKeyDictionary.cs
- RijndaelManaged.cs
- CssClassPropertyAttribute.cs
- _AutoWebProxyScriptHelper.cs
- ColumnWidthChangedEvent.cs
- CanonicalFormWriter.cs
- TreeNodeStyleCollection.cs
- ThreadStartException.cs
- Ref.cs
- CalculatedColumn.cs
- glyphs.cs