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
- FormsAuthentication.cs
- CollectionView.cs
- TextFormatterImp.cs
- ViewValidator.cs
- RegexRunner.cs
- WorkflowQueue.cs
- MetafileHeaderWmf.cs
- SHA256.cs
- FormatConvertedBitmap.cs
- AssemblyAttributesGoHere.cs
- SafeThreadHandle.cs
- KeyGestureValueSerializer.cs
- AsyncCompletedEventArgs.cs
- ApplyImportsAction.cs
- DeferrableContent.cs
- BitmapDownload.cs
- BitVector32.cs
- GeometryHitTestParameters.cs
- SchemaElementDecl.cs
- IntegerFacetDescriptionElement.cs
- PenThreadWorker.cs
- ObjectHandle.cs
- FreezableDefaultValueFactory.cs
- StructuralType.cs
- CodeSnippetCompileUnit.cs
- Button.cs
- ScriptingScriptResourceHandlerSection.cs
- PageParser.cs
- TableChangeProcessor.cs
- PagedDataSource.cs
- BCLDebug.cs
- TagPrefixInfo.cs
- CodeMemberField.cs
- SecurityAttributeGenerationHelper.cs
- StaticTextPointer.cs
- CategoryGridEntry.cs
- PersonalizationStateInfoCollection.cs
- CompareValidator.cs
- HttpPostedFile.cs
- ReferentialConstraint.cs
- CellLabel.cs
- WebBrowserPermission.cs
- CodeVariableReferenceExpression.cs
- SourceItem.cs
- UIElementPropertyUndoUnit.cs
- DataService.cs
- ListItemCollection.cs
- FrameworkPropertyMetadata.cs
- UrlMappingsModule.cs
- _emptywebproxy.cs
- GiveFeedbackEventArgs.cs
- QualifiedCellIdBoolean.cs
- BinaryObjectInfo.cs
- AppLevelCompilationSectionCache.cs
- Filter.cs
- CodeGotoStatement.cs
- WrappedDispatcherException.cs
- BypassElementCollection.cs
- GeneratedCodeAttribute.cs
- InstanceOwnerException.cs
- ManagedIStream.cs
- ProfileInfo.cs
- DataGridViewElement.cs
- StylusOverProperty.cs
- Int32.cs
- ThreadStateException.cs
- WhiteSpaceTrimStringConverter.cs
- ConsoleKeyInfo.cs
- DockAndAnchorLayout.cs
- RealProxy.cs
- SqlConnectionStringBuilder.cs
- UrlAuthFailedErrorFormatter.cs
- TypeGeneratedEventArgs.cs
- DoubleUtil.cs
- RandomNumberGenerator.cs
- StorageMappingItemCollection.cs
- HtmlInputPassword.cs
- SessionEndingCancelEventArgs.cs
- oledbconnectionstring.cs
- cryptoapiTransform.cs
- AlternateViewCollection.cs
- LogExtent.cs
- BamlLocalizableResourceKey.cs
- LoadWorkflowByInstanceKeyCommand.cs
- LoadMessageLogger.cs
- KeyValuePairs.cs
- CodeNamespaceImport.cs
- XamlPointCollectionSerializer.cs
- TableStyle.cs
- ControlBindingsCollection.cs
- MergablePropertyAttribute.cs
- _Rfc2616CacheValidators.cs
- EncodingFallbackAwareXmlTextWriter.cs
- SafeNativeMethodsOther.cs
- AsnEncodedData.cs
- PeerUnsafeNativeCryptMethods.cs
- TraversalRequest.cs
- BaseTemplatedMobileComponentEditor.cs
- FormatConvertedBitmap.cs
- Vector3DKeyFrameCollection.cs