public Task <IBinding> TryCreateAsync(BindingProviderContext context) { if (context == null) { throw new ArgumentNullException("context"); } ParameterInfo parameter = context.Parameter; RedisAttribute attribute = parameter.GetCustomAttribute <RedisAttribute>(inherit: false); if (attribute == null) { return(Task.FromResult <IBinding>(null)); } IArgumentBinding <RedisEntity> argumentBinding = Provider.TryCreate(parameter); if (argumentBinding == null) { throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, "Can't bind to type '{0}'.", parameter.ParameterType)); } var account = RedisAccount.CreateDbFromConnectionString(_config.ConnectionString); IBinding binding = new RedisBinding(parameter.Name, argumentBinding, account, attribute, context, _trace); return(Task.FromResult(binding)); }
public Task<IBinding> TryCreateAsync(BindingProviderContext context) { if (context == null) { throw new ArgumentNullException("context"); } ParameterInfo parameter = context.Parameter; RedisAttribute attribute = parameter.GetCustomAttribute<RedisAttribute>(inherit: false); if (attribute == null) { return Task.FromResult<IBinding>(null); } IArgumentBinding<RedisEntity> argumentBinding = Provider.TryCreate(parameter); if (argumentBinding == null) { throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, "Can't bind to type '{0}'.", parameter.ParameterType)); } var account = RedisAccount.CreateDbFromConnectionString(_config.ConnectionString); IBinding binding = new RedisBinding(parameter.Name, argumentBinding, account, attribute, context, _trace); return Task.FromResult(binding); }