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
- WebServiceEnumData.cs
- ToolStripManager.cs
- StreamAsIStream.cs
- InputDevice.cs
- TransformGroup.cs
- CacheSection.cs
- TableCellCollection.cs
- TemplateKey.cs
- CallSiteHelpers.cs
- ConfigurationLocation.cs
- UDPClient.cs
- ApplicationBuildProvider.cs
- PictureBox.cs
- StringDictionaryEditor.cs
- CompletedAsyncResult.cs
- QuadraticEase.cs
- WebBrowserNavigatedEventHandler.cs
- AuthenticateEventArgs.cs
- UnknownWrapper.cs
- TypographyProperties.cs
- _FtpControlStream.cs
- TcpStreams.cs
- StateMachine.cs
- ListViewGroupConverter.cs
- DashStyles.cs
- PromptStyle.cs
- SmiRecordBuffer.cs
- Registry.cs
- CommandConverter.cs
- DrawingBrush.cs
- NavigationProgressEventArgs.cs
- XmlResolver.cs
- ToolStripSplitStackLayout.cs
- BasicExpressionVisitor.cs
- PackWebRequest.cs
- precedingsibling.cs
- ReflectionHelper.cs
- BasicBrowserDialog.cs
- DataControlFieldCell.cs
- ManifestSignedXml.cs
- ContextStaticAttribute.cs
- Util.cs
- Switch.cs
- SelectQueryOperator.cs
- DbConnectionClosed.cs
- httpstaticobjectscollection.cs
- SharedUtils.cs
- SolidBrush.cs
- DisplayNameAttribute.cs
- CodeCatchClauseCollection.cs
- TransformValueSerializer.cs
- CultureInfoConverter.cs
- FilePrompt.cs
- FigureParagraph.cs
- VisualTreeUtils.cs
- SeverityFilter.cs
- ClipboardData.cs
- BaseDataListDesigner.cs
- SymLanguageVendor.cs
- ListItemCollection.cs
- XmlNamespaceMappingCollection.cs
- JsonStringDataContract.cs
- ListDictionaryInternal.cs
- ProgressBar.cs
- WinEventQueueItem.cs
- ParentQuery.cs
- BamlStream.cs
- VarRefManager.cs
- EventPrivateKey.cs
- Size3D.cs
- ElementProxy.cs
- TreeWalkHelper.cs
- ExceptionUtil.cs
- OdbcParameterCollection.cs
- Vector.cs
- ToolStripComboBox.cs
- HtmlTableCell.cs
- GorillaCodec.cs
- FontStyles.cs
- XsltException.cs
- ErrorItem.cs
- DataGridRowAutomationPeer.cs
- BuildResultCache.cs
- XmlNodeReader.cs
- FrameworkContentElementAutomationPeer.cs
- SecurityMode.cs
- ActivityBindForm.cs
- SqlParameterCollection.cs
- XmlUtf8RawTextWriter.cs
- WebServiceErrorEvent.cs
- BamlReader.cs
- RemoteWebConfigurationHost.cs
- PropertyEntry.cs
- SendMailErrorEventArgs.cs
- ActiveDocumentEvent.cs
- StringPropertyBuilder.cs
- SiteMembershipCondition.cs
- VectorCollection.cs
- EdmTypeAttribute.cs
- Border.cs