private object DoBuildUp(Type t, object existing, string name, IEnumerable<ResolverOverride> resolverOverrides) { IBuilderContext context = null; // Ariel //if (t.Name == "IDataProtectionProvider") System.Diagnostics.Debugger.Break(); if (t.Name == "IApplicationDiscriminator") System.Diagnostics.Debugger.Break(); //if (t.Name == "IActionInvokerFactory") System.Diagnostics.Debugger.Break(); try { context = new BuilderContext( GetStrategies(), lifetimeContainer, policies, new NamedTypeBuildKey(t, name), existing); context.AddResolverOverrides(resolverOverrides); if (t.GetTypeInfo().IsGenericTypeDefinition) { throw new ArgumentException( string.Format(CultureInfo.CurrentCulture, Resources.CannotResolveOpenGenericType, t.FullName), "t"); } return context.Strategies.ExecuteBuildUp(context); } catch (Exception ex) { throw new ResolutionFailedException(t, name, ex, context); } }
public void Teardown(object o) { IBuilderContext context = null; try { Guard.ArgumentNotNull(o, "o"); context = new BuilderContext(GetStrategies().Reverse(), lifetimeContainer, policies, null, o); context.Strategies.ExecuteTearDown(context); } catch (Exception ex) { throw new ResolutionFailedException(o.GetType(), null, ex, context); } }