Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / System.ServiceModel.Activation / System / ServiceModel / Activation / ServiceHttpHandlerFactory.cs / 1305376 / ServiceHttpHandlerFactory.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Activation { using System.Runtime; using System.Security; using System.ServiceModel; using System.Web; using System.Web.SessionState; class ServiceHttpHandlerFactory : IHttpHandlerFactory { IHttpHandler handler; [Fx.Tag.SecurityNote(Miscellaneous = "RequiresReview - called outside PermitOnly context.")] public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated) { if (this.handler == null) { this.handler = new ServiceHttpHandler(); } return this.handler; } [Fx.Tag.SecurityNote(Miscellaneous = "RequiresReview - called outside PermitOnly context.")] public void ReleaseHandler(IHttpHandler handler) { Fx.Assert(handler is ServiceHttpHandler, "ASP.NET asked to release the wrong handler."); } class ServiceHttpHandler : IHttpAsyncHandler, IRequiresSessionState { public bool IsReusable { [Fx.Tag.SecurityNote(Miscellaneous = "RequiresReview - called outside PermitOnly context.")] get { return true; } } [Fx.Tag.SecurityNote(Critical = "Entry-point from asp.net, called outside PermitOnly context. ASP.NET calls are critical." + "ExecuteSynchronous is critical because it captures HostedImpersonationContext (and makes it available later) " + "so caller must ensure that this is called in the right place.")] [SecurityCritical] public void ProcessRequest(HttpContext context) { ServiceHostingEnvironment.SafeEnsureInitialized(); HostedHttpRequestAsyncResult.ExecuteSynchronous(context.ApplicationInstance, true, false); } [Fx.Tag.SecurityNote(Critical = "Entry-point from asp.net, called outside PermitOnly context. ASP.NET calls are critical." + "ExecuteSynchronous is critical because it captures HostedImpersonationContext (and makes it available later) " + "so caller must ensure that this is called in the right place.")] [SecurityCritical] public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback callback, object extraData) { ServiceHostingEnvironment.SafeEnsureInitialized(); return new HostedHttpRequestAsyncResult(context.ApplicationInstance, true, false, callback, extraData); } [Fx.Tag.SecurityNote(Miscellaneous = "RequiresReview - called outside PermitOnly context.")] public void EndProcessRequest(IAsyncResult result) { HostedHttpRequestAsyncResult.End(result); } } } } // 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
- DesignerCategoryAttribute.cs
- Vector3DConverter.cs
- XmlHelper.cs
- PostBackTrigger.cs
- ExpressionBuilderContext.cs
- WebBrowserHelper.cs
- StyleBamlTreeBuilder.cs
- SspiSafeHandles.cs
- COMException.cs
- ServiceModelSectionGroup.cs
- ProcessHostConfigUtils.cs
- FieldBuilder.cs
- ListViewCommandEventArgs.cs
- BitmapEffectInput.cs
- DefaultCommandConverter.cs
- SQLCharsStorage.cs
- CompositeActivityTypeDescriptorProvider.cs
- x509store.cs
- EntityViewContainer.cs
- WebBrowserNavigatingEventHandler.cs
- InvokeMethodActivityDesigner.cs
- Options.cs
- SerializationStore.cs
- CancelRequestedQuery.cs
- XmlFormatWriterGenerator.cs
- Classification.cs
- StyleModeStack.cs
- SQLMoney.cs
- StretchValidation.cs
- SmiContextFactory.cs
- DesignerContextDescriptor.cs
- Main.cs
- SystemIPGlobalStatistics.cs
- ResumeStoryboard.cs
- RuntimeHandles.cs
- SqlFactory.cs
- HitTestResult.cs
- ProfileSettingsCollection.cs
- ArgumentNullException.cs
- CharacterShapingProperties.cs
- ContentPlaceHolderDesigner.cs
- StrongNameUtility.cs
- DataSourceProvider.cs
- ParseHttpDate.cs
- ItemCollectionEditor.cs
- __Filters.cs
- SmiSettersStream.cs
- CompositeDesignerAccessibleObject.cs
- WebWorkflowRole.cs
- BackgroundWorker.cs
- DatagramAdapter.cs
- NonVisualControlAttribute.cs
- CodeBlockBuilder.cs
- _BufferOffsetSize.cs
- BuildProvidersCompiler.cs
- RectKeyFrameCollection.cs
- PartitionedDataSource.cs
- LayeredChannelListener.cs
- SystemInfo.cs
- SmiMetaDataProperty.cs
- CurrencyWrapper.cs
- ExpandedWrapper.cs
- EntityConnectionStringBuilder.cs
- XmlNotation.cs
- TabControl.cs
- Graphics.cs
- Int64Converter.cs
- QueryPageSettingsEventArgs.cs
- WindowsRichEditRange.cs
- DependencyObject.cs
- BitmapDecoder.cs
- DataGridViewMethods.cs
- OSEnvironmentHelper.cs
- WpfXamlMember.cs
- BufferedGraphics.cs
- _WinHttpWebProxyDataBuilder.cs
- SQLInt32Storage.cs
- MultiByteCodec.cs
- MetadataCacheItem.cs
- ListSourceHelper.cs
- ThrowHelper.cs
- LowerCaseStringConverter.cs
- HashCryptoHandle.cs
- MoveSizeWinEventHandler.cs
- GAC.cs
- MdiWindowListStrip.cs
- LifetimeServices.cs
- WeakReferenceKey.cs
- TreeNode.cs
- SqlProcedureAttribute.cs
- TemplateBindingExpressionConverter.cs
- DependencyProperty.cs
- TextDecorationCollection.cs
- _DomainName.cs
- Timeline.cs
- AudioDeviceOut.cs
- PersonalizationProvider.cs
- ActiveXSerializer.cs
- HtmlInputCheckBox.cs
- TraceLevelStore.cs