コード例 #1
0
 private void CacheComplete(IResolverContext context, IDependencyResolver resolver)
 {
     if (context.IsSingletonLifetime())
     {
         DependencyTableHelper.AddScoped(_dependencyTable, context, null);
     }
     if (context.IsScopedLifetime())
     {
         DependencyTableHelper.AddScoped(_dependencyTable, context, resolver);
     }
 }
コード例 #2
0
 /// <summary>
 /// 从缓存中读取作用域值
 /// </summary>
 internal static bool TryGetScoped(this IDependencyTable dependencyTable, IResolverContext context, IDependencyResolver resolver, out Object value)
 {
     return(dependencyTable.ScopedTable.TryGetValue(DependencyTableHelper.GetScopedKey(context, resolver), out value));
 }
コード例 #3
0
 internal static void AddScoped(this IDependencyTable dependencyTable, IResolverContext context, IDependencyResolver resolver)
 {
     dependencyTable.ScopedTable.Add(DependencyTableHelper.GetScopedKey(context, resolver), context.CompleteValue);
 }
コード例 #4
0
 public void Resolver(IResolverContext context, IDependencyResolver resolver)
 {
     context.Complete = DependencyTableHelper.TryGetCompileValue(_dependencyTable, context, resolver);
 }