Пример #1
0
 internal ContainerService ResolveSingleton(Type type, ResolutionContext context)
 {
     var name = new ServiceName(type, context.Contracts.ToArray());
     var id = instanceCache.GetOrAdd(name, createId);
     ContainerService result;
     if (!id.AcquireInstantiateLock(out result))
         return result;
     result = context.Instantiate(type, false, null);
     id.ReleaseInstantiateLock(context.AnalizeDependenciesOnly ? null : result);
     return result;
 }