using System.Collections.Concurrent;
using System.Threading;
namespace Masuit.Tools.NoSQL.MongoDBClient
{
///
/// 取线程内唯一对象
///
///
static class CallContext
{
static ConcurrentDictionary> state = new ConcurrentDictionary>();
public static void SetData(string name, T data) => state.GetOrAdd(name, _ => new AsyncLocal()).Value = data;
public static T GetData(string name) => state.TryGetValue(name, out AsyncLocal data) ? data.Value : default(T);
}
}