This project has moved. For the latest updates, please go here.

Type: ObjectTracker

The ObjectTracker tracks object instances (see the object tracker conceptual documentation for more details).

There is only one ObjectTracker instance, available through the static Default property. All members are fully threadsafe.

The ObjectTracker is only responsible for two things:
All other object tracking operations (retrieving a strong reference, registering a callback, etc) are handled by ObjectId or IObjectIdReference<T>.


  • static ObjectTracker Default { get; } - Gets the only instance of ObjectTracker for this AppDomain.
  • int GCDetectionWaitTimeInMilliseconds { get; set; } - Gets or sets the amount of time for the GC detection thread to wait in-between each scan of all tracked objects, in milliseconds. This may be set to Timeout.Infinite to pause the GC detection thread.
  • ObjectId TrackObject(object target) - Adds target as a tracked instance. Returns the ObjectId for that target. If the target is already tracked, TrackObject will return its existing ObjectId.
  • IObjectIdReference<T> Track<T>(T target) - Same as TrackObject, but returns a strongly-typed IObjectIdReference<T> wrapping the target's ObjectId.

Last edited Jul 23, 2010 at 8:52 PM by shammah, version 1


No comments yet.