Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Activation / HttpModule.cs / 1 / HttpModule.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Activation { using System.Threading; using System.ServiceModel; using System.Web; using System.Web.Hosting; using System.Security; using System.Security.Permissions; using System.Diagnostics; class HttpModule : IHttpModule { static bool disabled; ////// RequiresReview - called outside PermitOnly context, /// [SecurityRequiresReview] public void Dispose() { } ////// Critical - entry-point from asp.net, accesses ProcessRequest which is SecurityCritical /// [SecurityCritical] public void Init(HttpApplication context) { context.PostAuthenticateRequest += new EventHandler(ProcessRequest); } ////// 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; } if (ServiceHostingEnvironment.AspNetCompatibilityEnabled) { return; } // Check to see whether the extension is supported HttpApplication application = (HttpApplication)sender; string extension = System.IO.Path.GetExtension(application.Request.FilePath); if (extension == null || !ServiceHostingEnvironment.GetExtensionSupported(extension)) { return; } HostedHttpRequestAsyncResult.ExecuteSynchronous(application, false); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DecoderFallback.cs
- DataServiceQueryOfT.cs
- MimeXmlImporter.cs
- PageRanges.cs
- InputLangChangeEvent.cs
- LOSFormatter.cs
- WindowsGrip.cs
- WebPartZone.cs
- ProxyWebPartManager.cs
- XmlSchemaExternal.cs
- AdornedElementPlaceholder.cs
- MetafileHeader.cs
- VisualTarget.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- HttpDictionary.cs
- XPathNavigatorException.cs
- TypedReference.cs
- WebEventTraceProvider.cs
- Page.cs
- SimpleType.cs
- PointKeyFrameCollection.cs
- Viewport2DVisual3D.cs
- HideDisabledControlAdapter.cs
- CodeGeneratorOptions.cs
- GlyphRunDrawing.cs
- PropertyNames.cs
- StringUtil.cs
- UnmanagedMarshal.cs
- CryptoStream.cs
- SqlDataRecord.cs
- DataListItemCollection.cs
- _LocalDataStore.cs
- EntityDataSourceDataSelectionPanel.cs
- XmlSchemaObjectTable.cs
- log.cs
- DateTimeConverter2.cs
- DefaultDiscoveryServiceExtension.cs
- RenderData.cs
- SocketPermission.cs
- SmtpLoginAuthenticationModule.cs
- TriggerBase.cs
- AliasedSlot.cs
- ValuePattern.cs
- ListMarkerSourceInfo.cs
- RunWorkerCompletedEventArgs.cs
- SourceFileBuildProvider.cs
- CoreSwitches.cs
- MsmqIntegrationBindingElement.cs
- Exceptions.cs
- SharedPerformanceCounter.cs
- Registry.cs
- GroupItemAutomationPeer.cs
- safex509handles.cs
- DataColumnMapping.cs
- CorrelationToken.cs
- Graphics.cs
- FileClassifier.cs
- TextParagraphView.cs
- DataGridColumnHeadersPresenter.cs
- PropertyRecord.cs
- SectionInput.cs
- HttpRequestBase.cs
- StylusPointDescription.cs
- BinaryObjectReader.cs
- VisualCollection.cs
- XmlCharType.cs
- CreateDataSourceDialog.cs
- SchemaInfo.cs
- PkcsMisc.cs
- WebPartMovingEventArgs.cs
- TemplateControlBuildProvider.cs
- SamlDoNotCacheCondition.cs
- InstanceLockLostException.cs
- BasicKeyConstraint.cs
- ColorMatrix.cs
- validationstate.cs
- DispatcherExceptionEventArgs.cs
- StreamGeometry.cs
- Event.cs
- MsmqActivation.cs
- SyncOperationState.cs
- ForwardPositionQuery.cs
- TreeViewImageGenerator.cs
- IERequestCache.cs
- BinaryCommonClasses.cs
- XmlLanguage.cs
- AutoCompleteStringCollection.cs
- ToolboxItemFilterAttribute.cs
- AssemblyHash.cs
- GlyphRun.cs
- SingleResultAttribute.cs
- GridSplitterAutomationPeer.cs
- FileDetails.cs
- LoginCancelEventArgs.cs
- DBDataPermissionAttribute.cs
- ContextStaticAttribute.cs
- TreeView.cs
- EntityObject.cs
- StorageMappingItemLoader.cs
- ParserExtension.cs