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
- WebPartManagerInternals.cs
- EncoderNLS.cs
- TextElementCollectionHelper.cs
- ProviderConnectionPointCollection.cs
- XPathSelfQuery.cs
- InvalidFilterCriteriaException.cs
- _ShellExpression.cs
- OdbcEnvironment.cs
- BasicExpressionVisitor.cs
- ChainOfResponsibility.cs
- EntityDataSourceWrapperCollection.cs
- UnsafeNativeMethods.cs
- OdbcConnectionString.cs
- StorageFunctionMapping.cs
- CroppedBitmap.cs
- FontSource.cs
- RtType.cs
- XmlParserContext.cs
- SoapSchemaImporter.cs
- KnownBoxes.cs
- XmlIncludeAttribute.cs
- XDRSchema.cs
- XslCompiledTransform.cs
- ContractNamespaceAttribute.cs
- HostedBindingBehavior.cs
- Int16Converter.cs
- LinqDataSourceValidationException.cs
- SystemMulticastIPAddressInformation.cs
- _TimerThread.cs
- UpdateManifestForBrowserApplication.cs
- IisTraceListener.cs
- ControlUtil.cs
- FlowDocumentFormatter.cs
- TextRangeProviderWrapper.cs
- ToolTip.cs
- PersonalizationDictionary.cs
- SafeNativeMethods.cs
- ProgramPublisher.cs
- CompilerResults.cs
- DesignerVerbCollection.cs
- odbcmetadatacollectionnames.cs
- MasterPageParser.cs
- CommonXSendMessage.cs
- ZipIOBlockManager.cs
- DictionaryEntry.cs
- NotificationContext.cs
- KeyBinding.cs
- CompositeActivityValidator.cs
- UInt32.cs
- DefinitionBase.cs
- SqlTransaction.cs
- querybuilder.cs
- WebPartPersonalization.cs
- SectionUpdates.cs
- arabicshape.cs
- ConditionalBranch.cs
- OutputCacheModule.cs
- CodeChecksumPragma.cs
- _ListenerRequestStream.cs
- InputQueue.cs
- BindingNavigator.cs
- ProcessThreadCollection.cs
- GeometryDrawing.cs
- XmlDataContract.cs
- DecimalAnimationBase.cs
- UserPersonalizationStateInfo.cs
- EFColumnProvider.cs
- TextAnchor.cs
- StreamResourceInfo.cs
- CounterCreationDataCollection.cs
- UInt16.cs
- PropertyGridEditorPart.cs
- DiffuseMaterial.cs
- AttributeEmitter.cs
- WindowHelperService.cs
- XhtmlBasicValidationSummaryAdapter.cs
- CopyOfAction.cs
- PathData.cs
- HttpContext.cs
- FieldAccessException.cs
- CqlParser.cs
- DataGridViewCellCancelEventArgs.cs
- EventHandlers.cs
- LeafCellTreeNode.cs
- ManifestBasedResourceGroveler.cs
- BindableTemplateBuilder.cs
- ListItemCollection.cs
- GridViewAutoFormat.cs
- PolicyManager.cs
- SmiContextFactory.cs
- DesignerActionUI.cs
- CodeEventReferenceExpression.cs
- EncodingTable.cs
- AdornerPresentationContext.cs
- QilParameter.cs
- DataGridView.cs
- TextBlock.cs
- AggregateException.cs
- XmlRootAttribute.cs
- UserControlBuildProvider.cs