43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
|
#if !BESTHTTP_DISABLE_CACHING
|
|||
|
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
|
|||
|
namespace BestHTTP.Caching
|
|||
|
{
|
|||
|
//static class HTTPCacheFileLock
|
|||
|
//{
|
|||
|
// private static Dictionary<Uri, object> FileLocks = new Dictionary<Uri, object>();
|
|||
|
// //private static object SyncRoot = new object();
|
|||
|
// private static System.Threading.ReaderWriterLockSlim rwLock = new System.Threading.ReaderWriterLockSlim(System.Threading.LockRecursionPolicy.NoRecursion);
|
|||
|
//
|
|||
|
// internal static object Acquire(Uri uri)
|
|||
|
// {
|
|||
|
// rwLock.EnterUpgradeableReadLock();
|
|||
|
// try
|
|||
|
// {
|
|||
|
// object fileLock;
|
|||
|
// if (!FileLocks.TryGetValue(uri, out fileLock))
|
|||
|
// {
|
|||
|
// rwLock.EnterWriteLock();
|
|||
|
// try
|
|||
|
// {
|
|||
|
// FileLocks.Add(uri, fileLock = new object());
|
|||
|
// }
|
|||
|
// finally
|
|||
|
// {
|
|||
|
// rwLock.ExitWriteLock();
|
|||
|
// }
|
|||
|
// }
|
|||
|
//
|
|||
|
// return fileLock;
|
|||
|
// }
|
|||
|
// finally
|
|||
|
// {
|
|||
|
// rwLock.ExitUpgradeableReadLock();
|
|||
|
// }
|
|||
|
// }
|
|||
|
//}
|
|||
|
}
|
|||
|
|
|||
|
#endif
|