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
- Propagator.JoinPropagator.cs
- coordinatorscratchpad.cs
- AccessViolationException.cs
- KeyboardNavigation.cs
- HttpErrorTraceRecord.cs
- Avt.cs
- PartManifestEntry.cs
- RC2.cs
- RemotingSurrogateSelector.cs
- GeometryDrawing.cs
- DataSourceControl.cs
- ButtonField.cs
- PointCollectionConverter.cs
- VisualStyleTypesAndProperties.cs
- SessionPageStateSection.cs
- AmbientLight.cs
- IERequestCache.cs
- InputScopeNameConverter.cs
- TextContainer.cs
- ValidationResult.cs
- AppSettingsReader.cs
- WindowsFormsSynchronizationContext.cs
- SqlNotificationEventArgs.cs
- DispatchWrapper.cs
- HighContrastHelper.cs
- Serializer.cs
- DrawingVisualDrawingContext.cs
- MeasureData.cs
- ReliableInputConnection.cs
- EmptyQuery.cs
- GridViewDeletedEventArgs.cs
- ProcessManager.cs
- GenericWebPart.cs
- NameValuePair.cs
- ToolStripTextBox.cs
- TextParagraphCache.cs
- ListDictionary.cs
- RenderContext.cs
- ScriptManagerProxy.cs
- TableLayoutStyleCollection.cs
- DBDataPermissionAttribute.cs
- DockPanel.cs
- TimelineGroup.cs
- ForceCopyBuildProvider.cs
- GridViewUpdateEventArgs.cs
- ToolZone.cs
- ManipulationStartingEventArgs.cs
- SqlDataSourceStatusEventArgs.cs
- DataServiceCollectionOfT.cs
- LineServicesRun.cs
- XmlReflectionMember.cs
- ArraySortHelper.cs
- ConsoleTraceListener.cs
- AmbiguousMatchException.cs
- TimeSpanFormat.cs
- MimeMapping.cs
- GridViewCommandEventArgs.cs
- BinaryObjectWriter.cs
- Attribute.cs
- EllipseGeometry.cs
- PrimitiveCodeDomSerializer.cs
- SessionStateUtil.cs
- RoleExceptions.cs
- CallbackValidator.cs
- SlipBehavior.cs
- TableCell.cs
- NameValueCollection.cs
- BStrWrapper.cs
- Cell.cs
- DirtyTextRange.cs
- SQLDateTime.cs
- SoapConverter.cs
- Regex.cs
- EnumConverter.cs
- ClientSettingsSection.cs
- TempEnvironment.cs
- LookupBindingPropertiesAttribute.cs
- ThreadAbortException.cs
- DesignBindingConverter.cs
- Annotation.cs
- PageCanvasSize.cs
- basecomparevalidator.cs
- ReferencedAssembly.cs
- ContentFilePart.cs
- WebHttpElement.cs
- Signature.cs
- DelayedRegex.cs
- HtmlInputImage.cs
- X509ChainElement.cs
- RawStylusInput.cs
- AppDomainUnloadedException.cs
- UniqueIdentifierService.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- ServiceBehaviorAttribute.cs
- XamlStream.cs
- _ConnectionGroup.cs
- ValidatorUtils.cs
- ShutDownListener.cs
- ToolStripMenuItemCodeDomSerializer.cs
- BindableAttribute.cs