title: Concurrent SortedList or O(log n) concurrent collection
body: <p>I need to cache a lot of data from database in ASP.NET MVC application and would like to use SortedList. I know .NET 4.0 added concurrent collections but there is no sorted collection. 
  I was thinking to use SynchronizedCollection, but it is intensively using locks even for reads (if I am not mistaken), so I am looking for other options. Basically I need a concurrent collection with O(log n) access complexity.</p>
  
  <p><strong>EDIT - Code based on Greg's answer</strong> </p>
  
  <pre><code>void WrappedAdd(TKey k, TValue v)
  {
    var copy = new SortedList&lt;TKey, TValue&gt;(_sortedList);
    copy.Add(k, v);
    _sortedList = copy;
  }
  </code></pre>