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
- DirectoryNotFoundException.cs
- KeyGestureValueSerializer.cs
- PeerContact.cs
- CheckBoxField.cs
- ImportCatalogPart.cs
- OperationContractAttribute.cs
- TextEditorThreadLocalStore.cs
- StrokeNodeOperations.cs
- EnumValidator.cs
- TickBar.cs
- PlaceHolder.cs
- XslCompiledTransform.cs
- TypedRowHandler.cs
- ICspAsymmetricAlgorithm.cs
- ResolveCriteria.cs
- Journal.cs
- Gdiplus.cs
- EnumMember.cs
- MediaCommands.cs
- StrokeNode.cs
- SynchronizationFilter.cs
- TableSectionStyle.cs
- MouseDevice.cs
- StrokeNodeData.cs
- Select.cs
- NameValuePair.cs
- ListBox.cs
- VScrollProperties.cs
- PropertyFilterAttribute.cs
- LayoutUtils.cs
- MachineKeyConverter.cs
- SqlReferenceCollection.cs
- SocketPermission.cs
- WindowProviderWrapper.cs
- GenericXmlSecurityToken.cs
- CellLabel.cs
- URI.cs
- QuestionEventArgs.cs
- CodeNamespaceImport.cs
- QilTargetType.cs
- ViewManager.cs
- DataGridParentRows.cs
- XhtmlBasicObjectListAdapter.cs
- TdsRecordBufferSetter.cs
- AlternateViewCollection.cs
- MultiPageTextView.cs
- KeyValueConfigurationCollection.cs
- RealizationContext.cs
- AccessText.cs
- RegexTree.cs
- DelegateHelpers.cs
- BindingMemberInfo.cs
- XmlConvert.cs
- Pipe.cs
- documentsequencetextcontainer.cs
- Metafile.cs
- FrameworkRichTextComposition.cs
- MouseActionConverter.cs
- MdImport.cs
- PartialCachingAttribute.cs
- AmbientLight.cs
- SourceItem.cs
- AliasedSlot.cs
- ApplicationDirectory.cs
- TreeNodeStyleCollection.cs
- Timer.cs
- ApplicationHost.cs
- XmlUtil.cs
- ObfuscateAssemblyAttribute.cs
- BaseCollection.cs
- SQLByte.cs
- DispatcherHooks.cs
- MissingMethodException.cs
- ExceptionValidationRule.cs
- CheckBoxDesigner.cs
- ObjectViewQueryResultData.cs
- SqlNamer.cs
- FirstQueryOperator.cs
- SHA1CryptoServiceProvider.cs
- Partitioner.cs
- TableLayoutStyleCollection.cs
- Utils.cs
- RuntimeEnvironment.cs
- LinqDataView.cs
- SQLInt32.cs
- TypeValidationEventArgs.cs
- SectionUpdates.cs
- OracleConnection.cs
- ToolStripRenderer.cs
- CharUnicodeInfo.cs
- odbcmetadatafactory.cs
- ContextMenuStrip.cs
- RowCache.cs
- GridView.cs
- ExpressionReplacer.cs
- PeerApplication.cs
- shaper.cs
- AssemblyResourceLoader.cs
- XmlDataSource.cs
- WebConfigurationFileMap.cs