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
- CheckBox.cs
- XmlSchemaExternal.cs
- CreateCardRequest.cs
- RouteItem.cs
- PreviewKeyDownEventArgs.cs
- TaskResultSetter.cs
- _BaseOverlappedAsyncResult.cs
- DelayedRegex.cs
- TextEditorParagraphs.cs
- LocatorPart.cs
- PerformanceCounter.cs
- SocketCache.cs
- WsatServiceCertificate.cs
- RegistryDataKey.cs
- CounterSet.cs
- DataFormats.cs
- MobileControlBuilder.cs
- XmlHierarchyData.cs
- CredentialSelector.cs
- PermissionSet.cs
- HostUtils.cs
- TextDecorationCollection.cs
- IconConverter.cs
- ScriptBehaviorDescriptor.cs
- RegisteredHiddenField.cs
- OleDbPropertySetGuid.cs
- Version.cs
- SchemaNamespaceManager.cs
- PopupRoot.cs
- AsynchronousChannel.cs
- SecurityTokenTypes.cs
- IndexedEnumerable.cs
- ConstraintManager.cs
- ProgressChangedEventArgs.cs
- CompatibleComparer.cs
- PromptEventArgs.cs
- WebColorConverter.cs
- AutoCompleteStringCollection.cs
- UIPermission.cs
- DataListComponentEditor.cs
- MouseWheelEventArgs.cs
- DateTimeFormat.cs
- CreateUserWizardStep.cs
- RelationshipEndCollection.cs
- QuaternionAnimation.cs
- OledbConnectionStringbuilder.cs
- MetadataItemEmitter.cs
- TextFormatterHost.cs
- EntityStoreSchemaFilterEntry.cs
- Permission.cs
- SaveFileDialog.cs
- DocumentApplicationDocumentViewer.cs
- ResourceCategoryAttribute.cs
- TypeSystem.cs
- GridItemCollection.cs
- StylusDownEventArgs.cs
- PrePostDescendentsWalker.cs
- _WinHttpWebProxyDataBuilder.cs
- XmlWrappingReader.cs
- GetPageNumberCompletedEventArgs.cs
- BindingContext.cs
- XmlSchemaIdentityConstraint.cs
- FrameworkElementAutomationPeer.cs
- Empty.cs
- AppLevelCompilationSectionCache.cs
- WinEventTracker.cs
- RenderingBiasValidation.cs
- SqlGenericUtil.cs
- xmlglyphRunInfo.cs
- StorageAssociationTypeMapping.cs
- InvokeProviderWrapper.cs
- SystemColors.cs
- RootBrowserWindowProxy.cs
- MailWriter.cs
- TraceXPathNavigator.cs
- AuthenticationService.cs
- SerializationHelper.cs
- XamlPointCollectionSerializer.cs
- AdvancedBindingPropertyDescriptor.cs
- WebBrowserBase.cs
- StringSource.cs
- AutomationElementIdentifiers.cs
- WebPartAddingEventArgs.cs
- AssemblySettingAttributes.cs
- GenericRootAutomationPeer.cs
- ConfigXmlWhitespace.cs
- _HTTPDateParse.cs
- DesignerAutoFormatCollection.cs
- InputManager.cs
- TypographyProperties.cs
- QueryExecutionOption.cs
- ListViewItem.cs
- MenuCommandService.cs
- AttachedPropertyBrowsableAttribute.cs
- TCPClient.cs
- SessionEndingCancelEventArgs.cs
- TerminatorSinks.cs
- WhitespaceRule.cs
- MemberDescriptor.cs
- CaseExpr.cs