Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / System.ServiceModel.Activation / System / ServiceModel / Activation / HttpModule.cs / 1305376 / HttpModule.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Activation { using System.Diagnostics; using System.Runtime; using System.Security; using System.ServiceModel; using System.Web; using System.Web.Hosting; class HttpModule : IHttpModule { static bool disabled; [Fx.Tag.SecurityNote(Miscellaneous = "RequiresReview - called outside PermitOnly context.")] public void Dispose() { } [Fx.Tag.SecurityNote(Critical = "Entry-point from asp.net, accesses ProcessRequest which is SecurityCritical.")] [SecurityCritical] public void Init(HttpApplication context) { context.PostAuthenticateRequest += new EventHandler(ProcessRequest); } [Fx.Tag.SecurityNote(Critical = "Entry-point from asp.net, called outside PermitOnly context. ASP calls are critical." + "HostedHttpRequestAsyncResult..ctor is critical because it captures HostedImpersonationContext." + "(and makes it available later) so caller must ensure that this is called in the right place.")] [SecurityCritical] static void ProcessRequest(object sender, EventArgs e) { if (HttpModule.disabled) { return; } try { ServiceHostingEnvironment.SafeEnsureInitialized(); } catch (SecurityException exception) { HttpModule.disabled = true; if (DiagnosticUtility.ShouldTraceWarning) { DiagnosticUtility.ExceptionUtility.TraceHandledException(exception, TraceEventType.Warning); } // If requesting a .svc file, the HttpHandler will try to handle it. It will call // SafeEnsureInitialized() again, which will fail with the same exception (it is // idempotent on failure). This is the correct behavior. return; } HttpApplication application = (HttpApplication)sender; // Check to see whether the extension is supported string extension = application.Request.CurrentExecutionFilePathExtension; if (string.IsNullOrEmpty(extension)) { return; } ServiceHostingEnvironment.ServiceType serviceType = ServiceHostingEnvironment.GetServiceType(extension); // do extension check first so that we do not need to do it in aspnetrouting/configurationbasedactivation if (serviceType == ServiceHostingEnvironment.ServiceType.Unknown) { return; } // check for AspNetcompat if (ServiceHostingEnvironment.AspNetCompatibilityEnabled) { // remap httphandler for xamlx in CBA, since there is No physical file and // the xamlx httphandlerfactory will do file exist checking if (serviceType == ServiceHostingEnvironment.ServiceType.Workflow && ServiceHostingEnvironment.IsConfigurationBasedService(application)) { application.Context.RemapHandler(new HttpHandler()); } return; } else if (serviceType == ServiceHostingEnvironment.ServiceType.WCF) { HostedHttpRequestAsyncResult.ExecuteSynchronous(application, false, false); } else if (serviceType == ServiceHostingEnvironment.ServiceType.Workflow) { HostedHttpRequestAsyncResult.ExecuteSynchronous(application, false, true); } } } } // 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
- RelatedView.cs
- SupportingTokenSpecification.cs
- Typography.cs
- HybridObjectCache.cs
- BitmapEffectInput.cs
- WebControlParameterProxy.cs
- LocalizationParserHooks.cs
- BooleanExpr.cs
- Catch.cs
- StylusPointDescription.cs
- StatusBarItem.cs
- FrameworkTextComposition.cs
- BufferedStream.cs
- SpecularMaterial.cs
- FactoryMaker.cs
- DataGridRowHeader.cs
- Brush.cs
- JsonDataContract.cs
- SamlAttributeStatement.cs
- SymbolEqualComparer.cs
- DrawingVisualDrawingContext.cs
- SynchronizedMessageSource.cs
- ToolStripGrip.cs
- DbSourceCommand.cs
- ConnectionManagementElement.cs
- NegotiationTokenAuthenticatorState.cs
- WindowsMenu.cs
- ExpressionBuilderContext.cs
- VirtualDirectoryMappingCollection.cs
- FilteredReadOnlyMetadataCollection.cs
- ProtocolsConfigurationHandler.cs
- WindowsRegion.cs
- DescriptionAttribute.cs
- DataRecord.cs
- DataGridViewTextBoxEditingControl.cs
- MimeBasePart.cs
- EdmMember.cs
- hresults.cs
- HandlerBase.cs
- SelectionEditor.cs
- TabControl.cs
- CatalogZoneAutoFormat.cs
- DesignBindingConverter.cs
- DbgUtil.cs
- Evidence.cs
- TreeBuilderXamlTranslator.cs
- PrtCap_Base.cs
- Compiler.cs
- Model3DGroup.cs
- LocatorManager.cs
- StreamUpgradeProvider.cs
- MD5CryptoServiceProvider.cs
- RawStylusInput.cs
- WebPartEditorApplyVerb.cs
- MediaPlayerState.cs
- CodeDomConfigurationHandler.cs
- Match.cs
- CompilerLocalReference.cs
- FormViewPageEventArgs.cs
- BoolExpressionVisitors.cs
- ContextInformation.cs
- TabControlAutomationPeer.cs
- LinkButton.cs
- CodeGotoStatement.cs
- GradientPanel.cs
- DataKeyPropertyAttribute.cs
- BaseParser.cs
- BamlTreeUpdater.cs
- DbResourceAllocator.cs
- BypassElementCollection.cs
- RefType.cs
- SelfSignedCertificate.cs
- HtmlTitle.cs
- CapabilitiesState.cs
- MaskedTextBoxDesignerActionList.cs
- PasswordTextNavigator.cs
- DataGridViewComboBoxCell.cs
- DataGridViewTextBoxCell.cs
- RegexCompiler.cs
- RenderingBiasValidation.cs
- HwndSource.cs
- HatchBrush.cs
- TriggerActionCollection.cs
- ContainerCodeDomSerializer.cs
- FrameworkContentElement.cs
- PlaceHolder.cs
- WebPartManagerDesigner.cs
- Deflater.cs
- XmlSchemaElement.cs
- TextSimpleMarkerProperties.cs
- COM2IPerPropertyBrowsingHandler.cs
- VisualStateChangedEventArgs.cs
- Point3DCollection.cs
- HttpCachePolicyElement.cs
- ServiceDeploymentInfo.cs
- PropertyGeneratedEventArgs.cs
- BypassElementCollection.cs
- ProcessThreadCollection.cs
- ModelItemDictionaryImpl.cs
- XmlSchemaCollection.cs