Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------ // 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
- Glyph.cs
- FigureParaClient.cs
- UpWmlPageAdapter.cs
- FactoryRecord.cs
- MexTcpBindingCollectionElement.cs
- ItemDragEvent.cs
- PartialCachingAttribute.cs
- ToolStripSplitButton.cs
- ImportOptions.cs
- ElementHostAutomationPeer.cs
- SubclassTypeValidator.cs
- PlaceHolder.cs
- StorageEntityTypeMapping.cs
- SqlUtils.cs
- FactoryGenerator.cs
- ToolStripItemClickedEventArgs.cs
- RegexGroupCollection.cs
- GPRECTF.cs
- DataServiceRequestException.cs
- COM2IPerPropertyBrowsingHandler.cs
- DelayedRegex.cs
- HealthMonitoringSectionHelper.cs
- CollectionDataContract.cs
- MachineKeyConverter.cs
- DataGridViewTextBoxCell.cs
- Point4DConverter.cs
- SerialErrors.cs
- FileDialog.cs
- TrackingRecord.cs
- ImportedPolicyConversionContext.cs
- CornerRadius.cs
- OneOfScalarConst.cs
- SqlErrorCollection.cs
- EmptyQuery.cs
- WorkflowFormatterBehavior.cs
- XmlNamespaceMappingCollection.cs
- Math.cs
- StdValidatorsAndConverters.cs
- CompilerResults.cs
- GridErrorDlg.cs
- HttpRuntimeSection.cs
- SendContent.cs
- sqlcontext.cs
- NavigationEventArgs.cs
- DataTableClearEvent.cs
- CompilerGeneratedAttribute.cs
- AssemblyLoader.cs
- HttpStaticObjectsCollectionWrapper.cs
- ThreadExceptionEvent.cs
- RotationValidation.cs
- Fx.cs
- IteratorFilter.cs
- BitmapEffectCollection.cs
- GPStream.cs
- OleServicesContext.cs
- ScrollPatternIdentifiers.cs
- HandleCollector.cs
- AutomationPattern.cs
- Size3D.cs
- KeyTimeConverter.cs
- FloatMinMaxAggregationOperator.cs
- HttpHandlersSection.cs
- ListBoxItem.cs
- ActivityIdHeader.cs
- IdleTimeoutMonitor.cs
- MetabaseServerConfig.cs
- DataGridCommandEventArgs.cs
- EntityDataSourceWrapperCollection.cs
- DecoderNLS.cs
- panel.cs
- CreateUserWizardStep.cs
- SafeFileMappingHandle.cs
- ValueConversionAttribute.cs
- Timer.cs
- StateMachineSubscriptionManager.cs
- ThousandthOfEmRealPoints.cs
- PageFunction.cs
- MessageQueueEnumerator.cs
- HtmlGenericControl.cs
- HierarchicalDataBoundControl.cs
- TextUtf8RawTextWriter.cs
- PermissionAttributes.cs
- Brush.cs
- MsmqHostedTransportConfiguration.cs
- SecurityElementBase.cs
- BoundingRectTracker.cs
- RadioButton.cs
- DbConvert.cs
- BaseCodeDomTreeGenerator.cs
- Permission.cs
- DebugHandleTracker.cs
- PngBitmapDecoder.cs
- ClickablePoint.cs
- ObjectReferenceStack.cs
- DelayDesigner.cs
- NativeWindow.cs
- EndPoint.cs
- XPathBinder.cs
- LineMetrics.cs
- EntityDataSourceWrapper.cs