Files
Yi.Framework/CC.Yi.Old/CC.Yi.DALFactory/StaticDalFactory.cs
橙子 2bd67778bf v3.0.0
v3.0.0
2021-05-31 21:41:27 +08:00

25 lines
744 B
C#

using CC.Yi.DAL;
using CC.Yi.IDAL;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Text;
using System.Threading;
namespace CC.Yi.DALFactory
{
public partial class StaticDalFactory
{
private static class CallContext
{
static ConcurrentDictionary<string, AsyncLocal<object>> state = new ConcurrentDictionary<string, AsyncLocal<object>>();
public static void SetData(string name, object data) =>
state.GetOrAdd(name, _ => new AsyncLocal<object>()).Value = data;
public static object GetData(string name) =>
state.TryGetValue(name, out AsyncLocal<object> data) ? data.Value : null;
}
}
}