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
- X509IssuerSerialKeyIdentifierClause.cs
- SR.cs
- GlyphRun.cs
- EllipseGeometry.cs
- FunctionImportElement.cs
- TreeNodeCollection.cs
- SqlError.cs
- SqlTransaction.cs
- DispatcherTimer.cs
- FocusChangedEventArgs.cs
- ParamArrayAttribute.cs
- TaskHelper.cs
- OraclePermission.cs
- Helper.cs
- ErrorRuntimeConfig.cs
- MasterPage.cs
- DataGridViewCellCollection.cs
- GlobalProxySelection.cs
- InfoCardRequestException.cs
- UpdatePanelTrigger.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- Models.cs
- SerializationObjectManager.cs
- DeadLetterQueue.cs
- CTreeGenerator.cs
- HtmlTextArea.cs
- SizeLimitedCache.cs
- Point.cs
- WebPermission.cs
- Crc32Helper.cs
- EnumMember.cs
- FixedHighlight.cs
- FixedDocument.cs
- BindingContext.cs
- SafeFileMappingHandle.cs
- DbQueryCommandTree.cs
- SerializerWriterEventHandlers.cs
- XsltContext.cs
- TextFormatterHost.cs
- DynamicResourceExtension.cs
- TemplatedWizardStep.cs
- mediaclock.cs
- ManipulationStartedEventArgs.cs
- Privilege.cs
- SafeNativeMemoryHandle.cs
- ParseNumbers.cs
- OdbcFactory.cs
- SerializationStore.cs
- FixedHyperLink.cs
- CommonObjectSecurity.cs
- FirstMatchCodeGroup.cs
- WorkBatch.cs
- ListViewCommandEventArgs.cs
- ComNativeDescriptor.cs
- GCHandleCookieTable.cs
- HMACSHA512.cs
- AncestorChangedEventArgs.cs
- XmlHierarchicalDataSourceView.cs
- X509Certificate2.cs
- TypeGeneratedEventArgs.cs
- PackageRelationship.cs
- HttpResponseMessageProperty.cs
- ToolStripItemCollection.cs
- XmlFormatExtensionPointAttribute.cs
- HandlerWithFactory.cs
- OuterProxyWrapper.cs
- NotifyIcon.cs
- ValueCollectionParameterReader.cs
- LookupBindingPropertiesAttribute.cs
- BamlTreeNode.cs
- TextPointer.cs
- ManualResetEventSlim.cs
- CacheChildrenQuery.cs
- SiteMapSection.cs
- Queue.cs
- KeyValuePairs.cs
- DbParameterHelper.cs
- LinqDataSourceUpdateEventArgs.cs
- AspNetSynchronizationContext.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- OleDbPermission.cs
- AnimationClockResource.cs
- Compress.cs
- WorkflowWebHostingModule.cs
- WebRequest.cs
- SlotInfo.cs
- TransactionContextValidator.cs
- PreviewPageInfo.cs
- DoubleAnimation.cs
- NavigationPropertyEmitter.cs
- WsatServiceAddress.cs
- MetadataArtifactLoaderFile.cs
- ClientScriptManagerWrapper.cs
- Repeater.cs
- UrlPath.cs
- TemplateManager.cs
- CultureTable.cs
- TrackingLocation.cs
- InitializerFacet.cs
- IdnMapping.cs