TeamFoundationHttpHandler Class

The TeamFoundationHttpHandler is designed to be a base class for service developers to build custom handlers and provides an integration point between the services code and the Team Foundation framework.

Inheritance Hierarchy

System.Object
  Microsoft.TeamFoundation.Server.Core.WebServices.TeamFoundationHttpHandler
    Microsoft.TeamFoundation.Git.Server.GitHttpHandler
    Microsoft.TeamFoundation.Server.Core.FileHttpHandler
    Microsoft.TeamFoundation.Server.Core.WebServices.FrameworkHttpHandler
    Microsoft.TeamFoundation.Server.Core.WebServices.TraceToggle
    Microsoft.TeamFoundation.VersionControl.Server.VersionControlHttpHandler

Namespace:  Microsoft.TeamFoundation.Server.Core.WebServices
Assembly:  Microsoft.TeamFoundation.Server.Core (in Microsoft.TeamFoundation.Server.Core.dll)

Syntax

'Declaration
Public MustInherit Class TeamFoundationHttpHandler _
    Implements IHttpHandler
public abstract class TeamFoundationHttpHandler : IHttpHandler
public ref class TeamFoundationHttpHandler abstract : IHttpHandler
[<AbstractClass>]
type TeamFoundationHttpHandler =  
    class 
        interface IHttpHandler 
    end
public abstract class TeamFoundationHttpHandler implements IHttpHandler

The TeamFoundationHttpHandler type exposes the following members.

Constructors

  Name Description
Protected method TeamFoundationHttpHandler() The TeamFoundationHttpHandler base class constructor is protected forcing only derived class creation. This constructor validates that we are running within a TeamFoundationApplication and gathers some context information for the service execution.
Protected method TeamFoundationHttpHandler(HttpContextBase) Explicit parameter constructor to allow for testability.

Top

Properties

  Name Description
Protected property HandlerHttpContext The HttpContextBase associated with this web service request.
Public property IsReusable TeamFoundationHttpHandler's are not re-usable. (We want the the constructor above to get called on every request so that members like m_requestContext will be setup for the current request, not the first request we handled.)
Protected property RequestContext The RequestContext associated with this web service request.

Top

Methods

  Name Description
Protected method EnterMethod EnterMethod is used to note the beginning of the Handler to define information about the handler being executed.
Public method Equals Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as the default hash function. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method HandleException This basic WebService ExceptionHandler captures the exception and records it in the request Context for future logging. Services may choose to over-ride this method, perform some actions based on the exception, changing the exception, eating it or just letting it pass.
Protected method LeaveMethod LeaveMethod should be called as the last piece of code within the execution of the WebMethod's scope.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ProcessRequest The derived class must implement the ProcessRequest method.
Protected method SetMethodName Sets the method name (does NOT call EnterMethod.) This is meant to be called with the same instance of methodInformation, but without the parameters so that the method is correctly logged in the activity log rather than just its URL.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.TeamFoundation.Server.Core.WebServices Namespace