Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TableHeaderCell.cs
- FixedSOMPageConstructor.cs
- HebrewNumber.cs
- ContentDisposition.cs
- FixedLineResult.cs
- ItemCheckedEvent.cs
- ObjectConverter.cs
- VectorConverter.cs
- XMLUtil.cs
- X509CertificateRecipientClientCredential.cs
- ExecutionPropertyManager.cs
- NativeMethods.cs
- validation.cs
- ColorTranslator.cs
- PathBox.cs
- DbProviderFactory.cs
- RootNamespaceAttribute.cs
- WinEventWrap.cs
- SqlReferenceCollection.cs
- NamedPermissionSet.cs
- DataGridViewRow.cs
- TextServicesProperty.cs
- SiteMapNodeItem.cs
- SafeRightsManagementHandle.cs
- DefaultAssemblyResolver.cs
- ELinqQueryState.cs
- CompilationUtil.cs
- CompModHelpers.cs
- validationstate.cs
- PasswordRecoveryAutoFormat.cs
- XmlSchemaObjectCollection.cs
- ReadOnlyMetadataCollection.cs
- FixedBufferAttribute.cs
- DataGridViewCellMouseEventArgs.cs
- StrongNameHelpers.cs
- WebPartConnectionsDisconnectVerb.cs
- BindValidator.cs
- CodeSnippetTypeMember.cs
- EnvelopedPkcs7.cs
- SeverityFilter.cs
- TextRunCacheImp.cs
- Component.cs
- UndoUnit.cs
- TraceRecord.cs
- DetailsViewInsertedEventArgs.cs
- SymmetricAlgorithm.cs
- NeutralResourcesLanguageAttribute.cs
- CornerRadiusConverter.cs
- FontFamilyIdentifier.cs
- StaticDataManager.cs
- TextViewBase.cs
- XamlToRtfWriter.cs
- Animatable.cs
- DelegateBodyWriter.cs
- LinkDescriptor.cs
- DesignerRegionMouseEventArgs.cs
- DictionaryEditChange.cs
- StrokeDescriptor.cs
- CharacterString.cs
- BamlTreeMap.cs
- DynamicValidatorEventArgs.cs
- HtmlGenericControl.cs
- Translator.cs
- XmlReflectionMember.cs
- SecurityKeyIdentifier.cs
- WindowsListViewItemCheckBox.cs
- CategoryNameCollection.cs
- GotoExpression.cs
- InvalidOperationException.cs
- Int64KeyFrameCollection.cs
- MessageDecoder.cs
- CodeTypeReferenceExpression.cs
- bindurihelper.cs
- AutomationPatternInfo.cs
- DataBoundControl.cs
- ViewPort3D.cs
- TimeSpanValidatorAttribute.cs
- SoapHeaders.cs
- mansign.cs
- MissingFieldException.cs
- RadioButtonPopupAdapter.cs
- SecurityManager.cs
- DataControlImageButton.cs
- SqlDataSourceCommandEventArgs.cs
- MaskedTextBoxTextEditorDropDown.cs
- ManagementEventArgs.cs
- FixedSOMPageConstructor.cs
- DesignerAdapterAttribute.cs
- SqlConnectionStringBuilder.cs
- DataGridCommandEventArgs.cs
- HttpListener.cs
- DispatcherHooks.cs
- MouseWheelEventArgs.cs
- PropertySourceInfo.cs
- FilterElement.cs
- TextRangeEditLists.cs
- ChannelServices.cs
- StreamWriter.cs
- EditorZone.cs
- PeerNameRecordCollection.cs