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
- DataGridViewRowConverter.cs
- XamlSerializationHelper.cs
- Cell.cs
- DocumentationServerProtocol.cs
- StateDesigner.LayoutSelectionGlyph.cs
- CompositeTypefaceMetrics.cs
- XslVisitor.cs
- SymLanguageVendor.cs
- EmptyEnumerator.cs
- MissingMethodException.cs
- HScrollBar.cs
- BlurBitmapEffect.cs
- CorrelationTokenInvalidatedHandler.cs
- RegexParser.cs
- FileDataSourceCache.cs
- XmlSchemaAnnotation.cs
- KeyConverter.cs
- TransformCollection.cs
- StringValidatorAttribute.cs
- HttpCacheVary.cs
- IssuedTokenServiceElement.cs
- PackageRelationship.cs
- StringArrayConverter.cs
- EncodingStreamWrapper.cs
- XmlDataSourceView.cs
- FlowDocumentScrollViewer.cs
- ScriptingWebServicesSectionGroup.cs
- LinqDataSourceDisposeEventArgs.cs
- DiscoveryEndpoint.cs
- WindowsTitleBar.cs
- ConsoleKeyInfo.cs
- EntityProviderServices.cs
- ErrorFormatter.cs
- OutgoingWebRequestContext.cs
- SchemaElementLookUpTableEnumerator.cs
- ServiceDebugElement.cs
- CompiledIdentityConstraint.cs
- XmlSchemaGroup.cs
- InvokeProviderWrapper.cs
- FontStyle.cs
- ToolStripContainerDesigner.cs
- CornerRadiusConverter.cs
- StsCommunicationException.cs
- BaseParaClient.cs
- WebPartMenuStyle.cs
- AutomationPatternInfo.cs
- XmlCharCheckingWriter.cs
- IProvider.cs
- RegisteredScript.cs
- SchemaTableOptionalColumn.cs
- DATA_BLOB.cs
- SQLMoneyStorage.cs
- RuntimeHandles.cs
- SiteMapSection.cs
- CalendarDay.cs
- Comparer.cs
- _TimerThread.cs
- DataKeyCollection.cs
- FixedTextView.cs
- MatrixUtil.cs
- SafeArchiveContext.cs
- SemaphoreSlim.cs
- DrawingContextWalker.cs
- Contracts.cs
- LineVisual.cs
- OutputCache.cs
- DiscoveryClientRequestChannel.cs
- FormatException.cs
- ParseElement.cs
- ImageKeyConverter.cs
- FtpWebResponse.cs
- MimeBasePart.cs
- WindowsNonControl.cs
- UnknownBitmapEncoder.cs
- XPathBinder.cs
- ObjectViewQueryResultData.cs
- ToolStripTemplateNode.cs
- DbConnectionStringCommon.cs
- OptimalBreakSession.cs
- PageContent.cs
- Normalization.cs
- MatrixCamera.cs
- FragmentQueryProcessor.cs
- SchemaNotation.cs
- FrameDimension.cs
- ProfileGroupSettingsCollection.cs
- Html32TextWriter.cs
- GridItemPattern.cs
- ClientSettingsProvider.cs
- AddInContractAttribute.cs
- PeerNameResolver.cs
- EUCJPEncoding.cs
- ConfigurationManagerInternal.cs
- ContainerControl.cs
- LinqDataSourceSelectEventArgs.cs
- KnownBoxes.cs
- CreateUserWizard.cs
- ReadContentAsBinaryHelper.cs
- httpapplicationstate.cs
- PhonemeConverter.cs