TeamFoundationCacheService<TKey, TValue> Class

A base class that can be used to implement an in-memory cache service.

This class provides thread safe get/add methods, implements ITeamFoundationService and cleanup scheduling.

Derived class must implement a cleanup logic.

Inheritance Hierarchy

System.Object
  Microsoft.TeamFoundation.Framework.Server.TeamFoundationCacheService<TKey, TValue>

Namespace:  Microsoft.TeamFoundation.Framework.Server
Assembly:  Microsoft.TeamFoundation.Framework.Server (in Microsoft.TeamFoundation.Framework.Server.dll)

Syntax

'Declaration
<TeamFoundationServiceDependency(GetType(TeamFoundationTaskService))> _
Public MustInherit Class TeamFoundationCacheService(Of TKey, TValue) _
    Implements ITeamFoundationService
[TeamFoundationServiceDependency(typeof(TeamFoundationTaskService))]
public abstract class TeamFoundationCacheService<TKey, TValue> : ITeamFoundationService
[TeamFoundationServiceDependency(typeof(TeamFoundationTaskService))]
generic<typename TKey, typename TValue>
public ref class TeamFoundationCacheService abstract : ITeamFoundationService
[<AbstractClass>]
[<TeamFoundationServiceDependency(typeof(TeamFoundationTaskService))>]
type TeamFoundationCacheService<'TKey, 'TValue> =  
    class 
        interface ITeamFoundationService 
    end
JScript does not support generic types or methods.

Type Parameters

  • TKey
  • TValue

The TeamFoundationCacheService<TKey, TValue> type exposes the following members.

Constructors

  Name Description
Protected method TeamFoundationCacheService<TKey, TValue> Initializes a new instance of TeamFoundationCacheService class.

Top

Methods

  Name Description
Public method Add Adds an item to the cache. If an item with the specified key already occurs in the cached, then new item is not added to the dictionary and the method return an item that is already in a cache.
Public method BulkRemove Removes items from the cache. This method is thread safe.
Public method BulkSet Adds items to the cache. If item with specified key exists in the cache, it is replaced.
Public method Clear Removes all items from the cache. This method is thread safe.
Protected method DoCleanup This method is called to cleanup the cache. Derived class must implement cleanup strategy. A lock is acquired before this method is called, which gurantees that derived class has an exclusive access to the cache dictionary. Values are tuples, where Item1 is a stop watch that is set on a last access to the item, and Item2 is an item itself.
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.)
Public method GetValues Gets all values.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Remove Removes an item from the cache. This method is thread safe.
Public method Set Adds item to the cache. If item with specified key exists in the cache, it is replaced.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method TryGetValue Gets the value associated with the specified key.

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method ITeamFoundationService.ServiceEnd This method is called when the service is stopped.
Explicit interface implemetationPrivate method ITeamFoundationService.ServiceStart Starts the service.

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.Framework.Server Namespace