Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Activation / ServiceHttpHandlerFactory.cs / 1 / ServiceHttpHandlerFactory.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Activation { using System.Threading; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Diagnostics; using System.Web; using System.Web.SessionState; using System.Security; class ServiceHttpHandlerFactory : IHttpHandlerFactory { IHttpHandler handler; ////// RequiresReview - Called outside PermitOnly context. /// [SecurityRequiresReview] public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated) { if (this.handler == null) { this.handler = new ServiceHttpHandler(); } return this.handler; } ////// RequiresReview - Called outside PermitOnly context. /// [SecurityRequiresReview] public void ReleaseHandler(IHttpHandler handler) { DiagnosticUtility.DebugAssert(handler is ServiceHttpHandler, "ASP.NET asked to release the wrong handler."); } class ServiceHttpHandler : IHttpAsyncHandler, IRequiresSessionState { public bool IsReusable { ////// RequiresReview - Called outside PermitOnly context. /// [SecurityRequiresReview] get { return true; } } ////// 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); } ////// 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 cb, object extraData) { ServiceHostingEnvironment.SafeEnsureInitialized(); return new HostedHttpRequestAsyncResult(context.ApplicationInstance, true, cb, extraData); } ////// RequiresReview - Called outside PermitOnly context. /// [SecurityRequiresReview] 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SmtpAuthenticationManager.cs
- Binding.cs
- ByteAnimationBase.cs
- WrapperSecurityCommunicationObject.cs
- DocumentXmlWriter.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- AssociatedControlConverter.cs
- ReferenceSchema.cs
- Interlocked.cs
- EntityDataSourceUtil.cs
- LiteralControl.cs
- DeviceContext.cs
- cookiecollection.cs
- PreloadHost.cs
- TimestampInformation.cs
- CodeTypeOfExpression.cs
- ObjectDataSourceMethodEventArgs.cs
- DescendantQuery.cs
- DataObjectPastingEventArgs.cs
- SqlConnectionString.cs
- ComponentCollection.cs
- Win32.cs
- ContextProperty.cs
- TextServicesDisplayAttribute.cs
- ListBox.cs
- FlowLayoutPanel.cs
- Point4D.cs
- UnsafeNativeMethods.cs
- ProtocolsConfiguration.cs
- XmlSchemaIdentityConstraint.cs
- UTF7Encoding.cs
- PropertyDescriptorGridEntry.cs
- PersonalizationProviderHelper.cs
- HebrewNumber.cs
- VisualBasicHelper.cs
- ToolStripRenderer.cs
- SQLInt64.cs
- HttpCapabilitiesEvaluator.cs
- PublisherMembershipCondition.cs
- XmlAttributes.cs
- NamedPipeProcessProtocolHandler.cs
- ActivityMarkupSerializationProvider.cs
- ProfilePropertySettingsCollection.cs
- WindowsFormsSynchronizationContext.cs
- StyleSelector.cs
- BufferCache.cs
- SettingsPropertyCollection.cs
- AssemblyInfo.cs
- CodeMemberField.cs
- DocumentGrid.cs
- HostExecutionContextManager.cs
- SoapHeader.cs
- ResourceCollectionInfo.cs
- Utils.cs
- PropertyPath.cs
- X509ScopedServiceCertificateElementCollection.cs
- HashAlgorithm.cs
- LocalFileSettingsProvider.cs
- DoubleAnimation.cs
- basevalidator.cs
- UnsafeNetInfoNativeMethods.cs
- dsa.cs
- ConfigsHelper.cs
- CounterSampleCalculator.cs
- MILUtilities.cs
- MatrixAnimationBase.cs
- HttpWriter.cs
- NegotiationTokenAuthenticatorStateCache.cs
- ThreadAttributes.cs
- DeviceFilterEditorDialog.cs
- InputScopeConverter.cs
- EventLogEntry.cs
- LoginUtil.cs
- Directory.cs
- InfoCardTrace.cs
- ServiceMetadataContractBehavior.cs
- SimpleLine.cs
- GridItemPattern.cs
- EntityDataSourceWrapperCollection.cs
- DeviceContexts.cs
- SamlDoNotCacheCondition.cs
- CompleteWizardStep.cs
- GcHandle.cs
- IncrementalCompileAnalyzer.cs
- Subordinate.cs
- BamlLocalizabilityResolver.cs
- LayoutEngine.cs
- LocationInfo.cs
- TransformFinalBlockRequest.cs
- ListItemParagraph.cs
- PresentationAppDomainManager.cs
- XmlQuerySequence.cs
- WrappedIUnknown.cs
- ECDiffieHellmanCngPublicKey.cs
- PeerApplication.cs
- Int32CollectionConverter.cs
- ImageListImageEditor.cs
- TextDecorationCollectionConverter.cs
- TextShapeableCharacters.cs
- DbConnectionPoolIdentity.cs