public void ApplyConfiguration(ParameterInfo parameter, ObjectFieldDescriptor descriptor) { switch (_kind) { case ServiceKind.Pooled: UseDbContext <TDbContext>(descriptor.Extend().Definition); break; case ServiceKind.Synchronized: ServiceExpressionHelper.ApplyConfiguration(parameter, descriptor, _kind); break; case ServiceKind.Resolver: ServiceExpressionHelper.ApplyConfiguration(parameter, descriptor, _kind); ObjectFieldDefinition definition = descriptor.Extend().Definition; FieldMiddlewareDefinition placeholderMiddleware = new(_ => _ => throw new NotSupportedException(), key : ToList); FieldMiddlewareDefinition serviceMiddleware = definition.MiddlewareDefinitions.Last(t => t.Key == PooledService); var index = definition.MiddlewareDefinitions.IndexOf(serviceMiddleware) + 1; definition.MiddlewareDefinitions.Insert(index, placeholderMiddleware); AddCompletionMiddleware(definition, placeholderMiddleware); break; } }
public void ApplyConfiguration(ParameterInfo parameter, ObjectFieldDescriptor descriptor) => ServiceExpressionHelper.ApplyConfiguration(parameter, descriptor, _kind);