Class SynchronizedIsolatedStorageDebouncer<TInstance, TKey>
This instance of a Telerik.CallHome.Debouncing.IDebouncer`1 uses an OS wide named Mutex for access synchronization to a time table database. The time table is stored on an isolated storage and file access locks the file explicitly. Throws if the file access fails or if the lock can not be acquired in certain time.
Note the global named Mutex is shared for all users, while the file access is user owned. This means that multiple users running on the same machine may wait each other for access, but they will use separate time table files.
Inheritance
Inherited Members
Namespace: Telerik.CallHome.Debouncing
Assembly: Telerik.Windows.Controls.dll
Syntax
public abstract class SynchronizedIsolatedStorageDebouncer<TInstance, TKey> : SynchronizedStreamDebouncer<TInstance, TKey>, IDebouncer<TInstance>, IClearableDebouncer
Type Parameters
TInstance
The type of the instances that are debounced. |
TKey
A serializable lookup key generated for the filtered instances. |
Constructors
SynchronizedIsolatedStorageDebouncer()
Declaration
protected SynchronizedIsolatedStorageDebouncer()
Methods
AcquireStream()
Tries to open the storage stream and lock exclusively for read/write. Throws if the stream is currently acquired elsewhere.
Declaration
protected override Stream AcquireStream()
Returns
System.IO.Stream
|
Overrides
AcquireSynchronizationLock()
Blocks the execution of the current thread until the synchronization lock can be acquired. Returns a System.IDisposable that will release the lock when disposed.
Declaration
protected override IDisposable AcquireSynchronizationLock()
Returns
System.IDisposable
|
Overrides
Deserialize(Stream)
Deserializes the stream into dictionary of time records.
Declaration
protected override IDictionary<TKey, DateTime> Deserialize(Stream stream)
Parameters
System.IO.Stream
stream
|
Returns
System.Collections.Generic.IDictionary<TKey, System.DateTime>
|
Overrides
Serialize(Stream, IEnumerable<KeyValuePair<TKey, DateTime>>)
Serializes the time record dictionary into a stream.
Declaration
protected override void Serialize(Stream stream, IEnumerable<KeyValuePair<TKey, DateTime>> table)
Parameters
System.IO.Stream
stream
|
System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey, System.DateTime>>
table
|