public void Resolver(IResolverContext context, IDependencyResolver resolver)
        {
            var properties = PropertyCacheManager.GetOrSetCache(context.Dependency,
                                                                () =>
                                                                context.Resolved.GetType().
                                                                GetProperties(BindingFlags.Public | BindingFlags.Instance).
                                                                Where(property => DependencyCacheManager.GetCache((IScopedResolver)resolver).
                                                                      Any(dependency => property.PropertyType == dependency.ServiceType) &&
                                                                      !property.IsDefined(typeof(IgnoreDependencyAttribute), false)));

            foreach (var property in properties)
            {
                try
                {
                    PropertySetCacheManger.Cache(property, context.Resolved, resolver.Resolve(property.PropertyType));
                }
                catch (Exception ex)
                {
                    throw new InvalidOperationException(
                              $"类型\"{context.Dependency.GetImplementationType()}\"未能注入属性\"{property.PropertyType}\"的实例。",
                              ex);
                }
            }
            context.Handled = true;
        }