<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>ObjectBuilder Dependency Injection Framework</title><link>http://objectbuilder.codeplex.com/project/feeds/rss</link><description>ObjectBuilder is a tool for building dependency injection systems for the .NET platform. It was originally designed by the Microsoft patterns &amp;#38; practices team for use in the Composite UI Application Block and Enterprise Library.      ObjectBuilder can be used to create a variety of dependency injection environments. It can be used to create any arbitrary object. It requires .NET 2.0.</description><item><title>Closed Issue: n-deep Containers Not Supported [13636]</title><link>http://objectbuilder.codeplex.com/workitem/13636</link><description>Trying to embed containers multiple levels deep doesn&amp;#39;t work because staged strategy chain does not properly consult the parent strategy chain.&lt;br /&gt;</description><author>BradWilson</author><pubDate>Thu, 16 May 2013 07:10:24 GMT</pubDate><guid isPermaLink="false">Closed Issue: n-deep Containers Not Supported [13636] 20130516071024A</guid></item><item><title>Closed Issue: Bug in ParametersToTypeList method of the BuilderStrategy class [14140]</title><link>http://objectbuilder.codeplex.com/workitem/14140</link><description>I found a bug in the ParametersToTypeList method of the BuilderStrategy class.  Inside the method it execute &amp;#34;parameter.GetType&amp;#40;&amp;#41;.Name&amp;#34;. This does not take into account that &amp;#34;parameter&amp;#34; can be null, causing a exeception.  This bug was exposed when I used a SCSF service with a constructor as follows&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;  MyService&amp;#40;&amp;#91;ServiceDependency&amp;#93; IOtherService s1, &amp;#91;ServiceDependency&amp;#40;Required&amp;#61;false&amp;#41;&amp;#93; IAnotherService s2&amp;#41;&lt;br /&gt;&amp;#160;&lt;br /&gt;The second parameter is not required and can thus be null.  These two parameters is eventually passed into the ParametersToTypeList function where the second entry in the array is null, causing the exception.  The fix for the bug is as follows&amp;#58;&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;&amp;#47;&amp;#47;&amp;#47; Creates a trace list of parameter types from a list of &amp;#60;see cref&amp;#61;&amp;#34;IParameter&amp;#34;&amp;#47;&amp;#62; objects.&lt;br /&gt;&amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;&lt;br /&gt;&amp;#47;&amp;#47;&amp;#47; &amp;#60;param name&amp;#61;&amp;#34;parameters&amp;#34;&amp;#62;The parameters&amp;#60;&amp;#47;param&amp;#62;&lt;br /&gt;&amp;#47;&amp;#47;&amp;#47; &amp;#60;returns&amp;#62;The type list in string form&amp;#60;&amp;#47;returns&amp;#62;&lt;br /&gt;protected string ParametersToTypeList&amp;#40;params object&amp;#91;&amp;#93; parameters&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;  List&amp;#60;string&amp;#62; types &amp;#61; new List&amp;#60;string&amp;#62;&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#160;&lt;br /&gt;  foreach &amp;#40;object parameter in parameters&amp;#41;&lt;br /&gt;  &amp;#123;&lt;br /&gt;    if &amp;#40;parameter &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;      types.Add&amp;#40;parameter.GetType&amp;#40;&amp;#41;.Name&amp;#41;&amp;#59;&lt;br /&gt;    else&lt;br /&gt;      types.Add&amp;#40;&amp;#34;null&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;  &amp;#125;&lt;br /&gt;&amp;#160;&lt;br /&gt;  return string.Join&amp;#40;&amp;#34;, &amp;#34;, types.ToArray&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;</description><author>BradWilson</author><pubDate>Thu, 16 May 2013 07:10:23 GMT</pubDate><guid isPermaLink="false">Closed Issue: Bug in ParametersToTypeList method of the BuilderStrategy class [14140] 20130516071023A</guid></item><item><title>Source code checked in, #99885</title><link>http://objectbuilder.codeplex.com/SourceControl/changeset/changes/99885</link><description>Upgrade&amp;#58; New Version of LabDefaultTemplate.xaml. To upgrade your build definitions, please visit the following link&amp;#58; http&amp;#58;&amp;#47;&amp;#47;go.microsoft.com&amp;#47;fwlink&amp;#47;&amp;#63;LinkId&amp;#61;254563</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 21:24:31 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99885 20121001092431P</guid></item><item><title>Source code checked in, #99884</title><link>http://objectbuilder.codeplex.com/SourceControl/changeset/changes/99884</link><description>Checked in by server upgrade</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 21:16:08 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99884 20121001091608P</guid></item><item><title>Reviewed: 1.0.51206.0 Production (十一月 15, 2011)</title><link>http://objectbuilder.codeplex.com/releases/view/1613#ReviewBy-y_2222</link><description>Rated 2 Stars &amp;#40;out of 5&amp;#41; - yes,I hope I can down it</description><author>y_2222</author><pubDate>Wed, 16 Nov 2011 05:40:51 GMT</pubDate><guid isPermaLink="false">Reviewed: 1.0.51206.0 Production (十一月 15, 2011) 20111116054051A</guid></item><item><title>New Post: Builder Strategy Order</title><link>http://objectbuilder.codeplex.com/Thread/View.aspx?ThreadId=213610</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I have created the following strategy:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="color:black;background-color:white"&gt;
&lt;pre&gt;    &lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;class&lt;/span&gt; TypeMappingStrategyWithoutPolicyId : BuilderStrategy
    {
        &lt;span style="color:gray"&gt;///&lt;/span&gt; &lt;span style="color:gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:gray"&gt;///&lt;/span&gt;&lt;span style="color:green"&gt; Implementation of &amp;lt;see cref=&amp;quot;IBuilderStrategy.BuildUp&amp;quot;/&amp;gt;.&lt;/span&gt;
        &lt;span style="color:gray"&gt;///&lt;/span&gt; &lt;span style="color:gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;override&lt;/span&gt; &lt;span style="color:blue"&gt;object&lt;/span&gt; BuildUp(IBuilderContext context, Type t, &lt;span style="color:blue"&gt;object&lt;/span&gt; existing, &lt;span style="color:blue"&gt;string&lt;/span&gt; id)
        {
            DependencyResolutionLocatorKey result = &lt;span style="color:blue"&gt;new&lt;/span&gt; DependencyResolutionLocatorKey(t, id);

            ITypeMappingPolicy policy = context.Policies.Get&amp;lt;ITypeMappingPolicy&amp;gt;(t, &lt;span style="color:blue"&gt;null&lt;/span&gt;);

            &lt;span style="color:blue"&gt;if&lt;/span&gt; (policy != &lt;span style="color:blue"&gt;null&lt;/span&gt;)
            {
                result = policy.Map(result);
                TraceBuildUp(context, t, id, Properties.Resources.TypeMapped, result.Type, result.ID ?? &lt;span style="color:#a31515"&gt;&amp;quot;(null)&amp;quot;&lt;/span&gt;);
                Guard.TypeIsAssignableFromType(t, result.Type, t);

                &lt;span style="color:blue"&gt;return&lt;/span&gt; context.HeadOfChain.BuildUp(context, result.Type, existing, id);
            }

            &lt;span style="color:blue"&gt;return&lt;/span&gt; &lt;span style="color:blue"&gt;base&lt;/span&gt;.BuildUp(context, result.Type, existing, id);
        }
    }
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The instruction :&lt;/p&gt;
&lt;pre style="color:#000000;font-family:Consolas, 'Courier New', Courier, monospace;font-size:1em;margin:8px"&gt;&lt;div style="color:black;background-color:white"&gt;&lt;pre&gt;context.HeadOfChain.BuildUp(context, result.Type, existing, id);&lt;/pre&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;p&gt;reinsert the mapped type in ObjectBuilder &amp;quot;pipeline&amp;quot; resolving the dependency.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The policy for mapping is:&lt;/p&gt;
&lt;div style="color:black;background-color:white"&gt;
&lt;pre&gt;Builder.Policies.Set&amp;lt;ITypeMappingPolicy&amp;gt;(&lt;span style="color:blue"&gt;new&lt;/span&gt; TypeMappingPolicy(&lt;span style="color:blue"&gt;typeof&lt;/span&gt;(SplashView), &lt;span style="color:blue"&gt;null&lt;/span&gt;), &lt;span style="color:blue"&gt;typeof&lt;/span&gt;(ISplashView), &lt;span style="color:blue"&gt;null)&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description><author>gigiabbrescia</author><pubDate>Thu, 14 Oct 2010 13:54:06 GMT</pubDate><guid isPermaLink="false">New Post: Builder Strategy Order 20101014015406P</guid></item><item><title>New Post: Builder Strategy Order</title><link>http://objectbuilder.codeplex.com/Thread/View.aspx?ThreadId=213610</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I have created the following strategy:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="color:black;background-color:white"&gt;
&lt;pre&gt;    &lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;class&lt;/span&gt; TypeMappingStrategyWithoutPolicyId : BuilderStrategy
    {
        &lt;span style="color:gray"&gt;///&lt;/span&gt; &lt;span style="color:gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:gray"&gt;///&lt;/span&gt;&lt;span style="color:green"&gt; Implementation of &amp;lt;see cref=&amp;quot;IBuilderStrategy.BuildUp&amp;quot;/&amp;gt;.&lt;/span&gt;
        &lt;span style="color:gray"&gt;///&lt;/span&gt; &lt;span style="color:gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;override&lt;/span&gt; &lt;span style="color:blue"&gt;object&lt;/span&gt; BuildUp(IBuilderContext context, Type t, &lt;span style="color:blue"&gt;object&lt;/span&gt; existing, &lt;span style="color:blue"&gt;string&lt;/span&gt; id)
        {
            DependencyResolutionLocatorKey result = &lt;span style="color:blue"&gt;new&lt;/span&gt; DependencyResolutionLocatorKey(t, id);

            ITypeMappingPolicy policy = context.Policies.Get&amp;lt;ITypeMappingPolicy&amp;gt;(t, &lt;span style="color:blue"&gt;null&lt;/span&gt;);

            &lt;span style="color:blue"&gt;if&lt;/span&gt; (policy != &lt;span style="color:blue"&gt;null&lt;/span&gt;)
            {
                result = policy.Map(result);
                TraceBuildUp(context, t, id, Properties.Resources.TypeMapped, result.Type, result.ID ?? &lt;span style="color:#a31515"&gt;&amp;quot;(null)&amp;quot;&lt;/span&gt;);
                Guard.TypeIsAssignableFromType(t, result.Type, t);

                &lt;span style="color:blue"&gt;return&lt;/span&gt; context.HeadOfChain.BuildUp(context, result.Type, existing, id);
            }

            &lt;span style="color:blue"&gt;return&lt;/span&gt; &lt;span style="color:blue"&gt;base&lt;/span&gt;.BuildUp(context, result.Type, existing, id);
        }
    }
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The instruction :&lt;/p&gt;
&lt;pre style="color:#000000;font-family:Consolas, 'Courier New', Courier, monospace;font-size:1em;margin:8px"&gt;&lt;div style="color:black;background-color:white"&gt;&lt;pre&gt;context.HeadOfChain.BuildUp(context, result.Type, existing, id);&lt;/pre&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;p&gt;reinsert the mapped type in ObjectBuilder &amp;quot;pipeline&amp;quot; resolving the dependency.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The policy for mapping is:&lt;/p&gt;
&lt;div style="color:black;background-color:white"&gt;
&lt;pre&gt;Builder.Policies.Set&amp;lt;ITypeMappingPolicy&amp;gt;(&lt;span style="color:blue"&gt;new&lt;/span&gt; TypeMappingPolicy(&lt;span style="color:blue"&gt;typeof&lt;/span&gt;(SplashView), &lt;span style="color:blue"&gt;null&lt;/span&gt;), &lt;span style="color:blue"&gt;typeof&lt;/span&gt;(ISplashView), &lt;span style="color:blue"&gt;null)&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description><author>gigiabbrescia</author><pubDate>Thu, 14 Oct 2010 13:54:06 GMT</pubDate><guid isPermaLink="false">New Post: Builder Strategy Order 20101014015406P</guid></item><item><title>Source code checked in, #74794</title><link>http://objectbuilder.codeplex.com/SourceControl/changeset/changes/74794</link><description>Checked in by server upgrade</description><author>_TFSSERVICE</author><pubDate>Tue, 03 Aug 2010 19:44:57 GMT</pubDate><guid isPermaLink="false">Source code checked in, #74794 20100803074457P</guid></item><item><title>New Post: Builder Strategy Order</title><link>http://objectbuilder.codeplex.com/Thread/View.aspx?ThreadId=213610</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;The Composite Application UI Block (CAB) uses Object Builder for dependency injection.&amp;nbsp; I faced a problem when trying to unit test certain areas of CAB as they reference concrete implementations of views and services such as the following line of code;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:#2b91af"&gt;ISplashView&lt;/span&gt;&lt;span style="font-size:10pt"&gt; splashView = WorkItem.SmartParts.AddNew&amp;lt;&lt;span style="color:#2b91af"&gt;SplashView&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Object Builder is used to create and return an instance of the SplashView.&lt;/p&gt;
&lt;p&gt;My approach was to create a new builder strategy for Object Builder that occurred at the stage of PreCreation.&amp;nbsp; My strategy uses mappings between interfaces and concrete classes from the application configuration file in order to build the correct object &amp;ndash; so my code now looks like the following;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:#2b91af"&gt;ISplashView&lt;/span&gt;&lt;span style="font-size:10pt"&gt; splashView = WorkItem.SmartParts.AddNew&amp;lt;&lt;span style="color:#2b91af"&gt;ISplashView&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The splash view can now be mocked and the class becomes unit testable and the assemblies less tightly coupled.&lt;/p&gt;
&lt;p&gt;It all works fine apart from the property based dependency injection (which doesn&amp;rsquo;t work at all).&amp;nbsp; Object Builder allows you to add several attributes to properties to allow them to be set by Object Builder, for example;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt"&gt;[&lt;span style="color:#2b91af"&gt;CreateNew&lt;/span&gt;]&lt;br&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SplashViewPresenter&lt;/span&gt; Presenter&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;{&lt;/span&gt;&lt;span style="font-size:10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _presenter = &lt;span style="color:blue"&gt;value&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _presenter.View = &lt;span style="color:blue"&gt;this&lt;/span&gt;;&lt;/span&gt;&lt;br&gt;&lt;span style="font-size:10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I'm aware that there is a &lt;span style="color:#000000"&gt;strategy available out of the box called TypeMappingStrategy, however, the mapping is done in code so we still end up with non unit testable code.&amp;nbsp; It also means we need to create a policy for each type we wish to build so it would be a reasonable amount of code.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;From what I understand, there is a builder strategy that is responsible for setting these properties using reflection.&amp;nbsp; This strategy is also in the PreCreation stage.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think that the reason its not working with my strategy is down to the order that the strategies are executed.&amp;nbsp; Mine would have to be the first one to run as it is essentially changing the type that we are trying to build.&amp;nbsp; If the strategy responsible for setting the properties ran before mine, it would be running on the interface and not the concrete class.&lt;/p&gt;
&lt;p&gt;If that assumption is true then the simple fix would be to re-order the strategies to ensure that mine was the first to run, however, I can&amp;rsquo;t find a way to do it.&lt;/p&gt;
&lt;p&gt;Cheers&lt;br&gt;Steve.&lt;/p&gt;&lt;/div&gt;</description><author>stephencampling</author><pubDate>Mon, 24 May 2010 08:32:01 GMT</pubDate><guid isPermaLink="false">New Post: Builder Strategy Order 20100524083201A</guid></item><item><title>New Post: Builder Strategy Order</title><link>http://objectbuilder.codeplex.com/Thread/View.aspx?ThreadId=213610</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;The Composite Application UI Block (CAB) uses Object Builder for dependency injection.&amp;nbsp; I faced a problem when trying to unit test certain areas of CAB as they reference concrete implementations of views and services such as the following line of code;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:#2b91af"&gt;ISplashView&lt;/span&gt;&lt;span style="font-size:10pt"&gt; splashView = WorkItem.SmartParts.AddNew&amp;lt;&lt;span style="color:#2b91af"&gt;SplashView&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Object Builder is used to create and return an instance of the SplashView.&lt;/p&gt;
&lt;p&gt;My approach was to create a new builder strategy for Object Builder that occurred at the stage of PreCreation.&amp;nbsp; My strategy uses mappings between interfaces and concrete classes from the application configuration file in order to build the correct object &amp;ndash; so my code now looks like the following;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:#2b91af"&gt;ISplashView&lt;/span&gt;&lt;span style="font-size:10pt"&gt; splashView = WorkItem.SmartParts.AddNew&amp;lt;&lt;span style="color:#2b91af"&gt;ISplashView&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The splash view can now be mocked and the class becomes unit testable and the assemblies less tightly coupled.&lt;/p&gt;
&lt;p&gt;It all works fine apart from the property based dependency injection (which doesn&amp;rsquo;t work at all).&amp;nbsp; Object Builder allows you to add several attributes to properties to allow them to be set by Object Builder, for example;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt"&gt;[&lt;span style="color:#2b91af"&gt;CreateNew&lt;/span&gt;]&lt;br&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SplashViewPresenter&lt;/span&gt; Presenter&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;{&lt;/span&gt;&lt;span style="font-size:10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _presenter = &lt;span style="color:blue"&gt;value&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _presenter.View = &lt;span style="color:blue"&gt;this&lt;/span&gt;;&lt;/span&gt;&lt;br&gt;&lt;span style="font-size:10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I'm aware that there is a &lt;span style="color:#000000"&gt;strategy available out of the box called TypeMappingStrategy, however, the mapping is done in code so we still end up with non unit testable code.&amp;nbsp; It also means we need to create a policy for each type we wish to build so it would be a reasonable amount of code.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;From what I understand, there is a builder strategy that is responsible for setting these properties using reflection.&amp;nbsp; This strategy is also in the PreCreation stage.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think that the reason its not working with my strategy is down to the order that the strategies are executed.&amp;nbsp; Mine would have to be the first one to run as it is essentially changing the type that we are trying to build.&amp;nbsp; If the strategy responsible for setting the properties ran before mine, it would be running on the interface and not the concrete class.&lt;/p&gt;
&lt;p&gt;If that assumption is true then the simple fix would be to re-order the strategies to ensure that mine was the first to run, however, I can&amp;rsquo;t find a way to do it.&lt;/p&gt;
&lt;p&gt;Cheers&lt;br&gt;Steve.&lt;/p&gt;&lt;/div&gt;</description><author>stephencampling</author><pubDate>Mon, 24 May 2010 08:32:01 GMT</pubDate><guid isPermaLink="false">New Post: Builder Strategy Order 20100524083201A</guid></item><item><title>New Post: Is ObjectBuilder dead?</title><link>http://objectbuilder.codeplex.com/Thread/View.aspx?ThreadId=23947</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;&amp;gt;&amp;gt;The ObjectBuiler2 project being used by Unity is an adaptation of (and dramatic departure from, IMO) the work Scott and I did here.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think Chris already integrated ObjectBuilder into Unity so Unity can run without OB dll. Does it means OB is dead now?&lt;/p&gt;&lt;/div&gt;</description><author>michaelsync</author><pubDate>Wed, 03 Feb 2010 07:54:17 GMT</pubDate><guid isPermaLink="false">New Post: Is ObjectBuilder dead? 20100203075417A</guid></item><item><title>New Post: Is ObjectBuilder dead?</title><link>http://objectbuilder.codeplex.com/Thread/View.aspx?ThreadId=23947</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;&amp;gt;&amp;gt;The ObjectBuiler2 project being used by Unity is an adaptation of (and dramatic departure from, IMO) the work Scott and I did here.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think Chris already integrated ObjectBuilder into Unity so Unity can run without OB dll. Does it means OB is dead now?&lt;/p&gt;&lt;/div&gt;</description><author>michaelsync</author><pubDate>Wed, 03 Feb 2010 07:54:17 GMT</pubDate><guid isPermaLink="false">New Post: Is ObjectBuilder dead? 20100203075417A</guid></item><item><title>New Post: What would you like in OB 2.0?</title><link>http://objectbuilder.codeplex.com/Thread/View.aspx?ThreadId=456</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I would like to see performance improvements with the PolicyList.Set; I think it has been changed copy the policy dictionary to prevent multi-threading issues so locks don't need to be carried around. &amp;nbsp;This has killed performance in our application when using Unity IoC and resolving components which are not singletons. &amp;nbsp;While the copy took a lot of time, an even bigger issue was the pressure put on the GC. &amp;nbsp;When we optimized our code to use unity to resolve the whole dependency chain, we cut our PolicyList.Set calls down by a factor of 3, there were 3 dependencies in the chain. &amp;nbsp;This not only cut resolution time down it cut our %GC time from 30% to 0.5%. &amp;nbsp;That alone was one of the biggest saving graces.&lt;/p&gt;&lt;/div&gt;</description><author>abombss</author><pubDate>Mon, 28 Dec 2009 19:39:08 GMT</pubDate><guid isPermaLink="false">New Post: What would you like in OB 2.0? 20091228073908P</guid></item><item><title>Reviewed: 1.0.51206.0 Production (Dec 15, 2009)</title><link>http://objectbuilder.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=1613#ReviewBy-marten_range</link><description>Rated 5 Stars &amp;#40;out of 5&amp;#41; - ObjectBuilder is often the technical foundation of all projects I start. The simplicity and transparency of the design is one of the major benefits of ObjectBuilder over other DI framework&amp;#47;containers I&amp;#39;ve looked upon. Even though ObjectBuilder is dated it&amp;#39;s still excellent.  If nothing else it&amp;#39;s a good example on excellent design.</description><author>marten_range</author><pubDate>Tue, 15 Dec 2009 20:54:37 GMT</pubDate><guid isPermaLink="false">Reviewed: 1.0.51206.0 Production (Dec 15, 2009) 20091215085437P</guid></item><item><title>Commented Issue: Using custom Parameter Attribute gives Key Not Found in Dictionary Exception</title><link>http://objectbuilder.codeplex.com/WorkItem/View.aspx?WorkItemId=22214</link><description>Hi There,&lt;br /&gt;&lt;br /&gt;We have developed our own custom attribute similiar to the CreateNew attribute in WCSF. We have called it CreateNewOnce so that within an HTTPContext, an object of a particular type is created just once, no matter how many times its property is accessed. I have attached the code below. Now, this worked perfectly in Microsoft.Practices.CompositeWeb.EnterpriseLibrary v 2.0.0.0 but in the new 3.5 version it gives a Key Not found Exception. I have pasted the exception below as well. Its almost as if the Object Builder is unaware of the CreateNewOnce attribute. Do we need to register it somewhere to let Object Builder know of its existance. I would have thought inherting from Parameter Attribute should do that for us. What has changed in the new Object Builder version&amp;#63; &lt;br /&gt;&lt;br /&gt;Any help will be greatly apreciated. The code breaks at  public CreateNewOnceAttribute&amp;#40;&amp;#41;        &amp;#123; &amp;#125;&lt;br /&gt;&lt;br /&gt;Thanks Jatin&lt;br /&gt;&lt;br /&gt;Error&amp;#58;&lt;br /&gt;&amp;#91;KeyNotFoundException&amp;#58; The given key was not present in the dictionary.&amp;#93;&lt;br /&gt;&lt;br /&gt;System.ThrowHelper.ThrowKeyNotFoundException&amp;#40;&amp;#41; &amp;#43;28&lt;br /&gt;&lt;br /&gt;System.Collections.Generic.Dictionary&amp;#96;2.get_Item&amp;#40;TKey key&amp;#41; &amp;#43;7452124&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.Parameters.ParameterResolverMap.GetResolver&amp;#40;ParameterAttribute resolutionAttribute&amp;#41; &amp;#43;77&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.Properties.SetPropertiesStrategy.EmitResolveProperty&amp;#40;ILGenerator il, PropertyInfo prop&amp;#41; &amp;#43;87&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.Properties.SetPropertiesStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild, ILGenerator il&amp;#41; &amp;#43;395&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.PlanBuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;105&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.PlanBuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;126&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.DynamicMethodPlanBuilderPolicy.CreatePlan&amp;#40;Type typeToBuild, String idToBuild&amp;#41; &amp;#43;372&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.BuildPlanStrategy.GetPlanFromContext&amp;#40;IBuilderContext context, Type typeToBuild, String idToBuild&amp;#41; &amp;#43;157&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.BuildPlanStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;51&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.Strategies.SimplifiedSingletonStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;245&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.TypeMappingStrategy.BuildUp&amp;#40;IBuilderContext context, Type t, Object existing, String id&amp;#41; &amp;#43;278&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;255&lt;br /&gt;&lt;br /&gt;BuildUp_ASP.modules_inbox_inbox_aspx&amp;#40;IBuilderContext , Type , Object , String &amp;#41; &amp;#43;171&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.DynamicMethodBuildPlan.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String id&amp;#41; &amp;#43;63&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.BuildPlanStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;81&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.Strategies.SimplifiedSingletonStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;245&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.TypeMappingStrategy.BuildUp&amp;#40;IBuilderContext context, Type t, Object existing, String id&amp;#41; &amp;#43;278&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;289&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.WCSFBuilderBase&amp;#96;1.DoBuildUp&amp;#40;IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList&amp;#91;&amp;#93; transientPolicies&amp;#41; &amp;#43;139&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.WCSFBuilderBase&amp;#96;1.BuildUp&amp;#40;IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList&amp;#91;&amp;#93; transientPolicies&amp;#41; &amp;#43;55&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.CompositionContainer.BuildItem&amp;#40;IBuilder&amp;#96;1 builder, IReadWriteLocator locator, Object item&amp;#41; &amp;#43;411&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.WebClientApplication.BuildItemWithCurrentContext&amp;#40;Object obj&amp;#41; &amp;#43;187&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.Web.UI.Page.OnPreInit&amp;#40;EventArgs e&amp;#41; &amp;#43;47&lt;br /&gt;&lt;br /&gt;System.Web.UI.Page.PerformPreInit&amp;#40;&amp;#41; &amp;#43;31&lt;br /&gt;&lt;br /&gt;System.Web.UI.Page.ProcessRequestMain&amp;#40;Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint&amp;#41; &amp;#43;282&lt;br /&gt;Comments: ** Comment from web user: jatindua ** &lt;p&gt;Sorry the Impact is High not Low...&lt;/p&gt;</description><author>jatindua</author><pubDate>Wed, 29 Apr 2009 00:42:50 GMT</pubDate><guid isPermaLink="false">Commented Issue: Using custom Parameter Attribute gives Key Not Found in Dictionary Exception 20090429124250A</guid></item><item><title>Created Issue: Using custom Parameter Attribute gives Key Not Found in Dictionary Exception</title><link>http://objectbuilder.codeplex.com/WorkItem/View.aspx?WorkItemId=22214</link><description>Hi There,&lt;br /&gt;&lt;br /&gt;We have developed our own custom attribute similiar to the CreateNew attribute in WCSF. We have called it CreateNewOnce so that within an HTTPContext, an object of a particular type is created just once, no matter how many times its property is accessed. I have attached the code below. Now, this worked perfectly in Microsoft.Practices.CompositeWeb.EnterpriseLibrary v 2.0.0.0 but in the new 3.5 version it gives a Key Not found Exception. I have pasted the exception below as well. Its almost as if the Object Builder is unaware of the CreateNewOnce attribute. Do we need to register it somewhere to let Object Builder know of its existance. I would have thought inherting from Parameter Attribute should do that for us. What has changed in the new Object Builder version&amp;#63; &lt;br /&gt;&lt;br /&gt;Any help will be greatly apreciated. The code breaks at  public CreateNewOnceAttribute&amp;#40;&amp;#41;        &amp;#123; &amp;#125;&lt;br /&gt;&lt;br /&gt;Thanks Jatin&lt;br /&gt;&lt;br /&gt;Error&amp;#58;&lt;br /&gt;&amp;#91;KeyNotFoundException&amp;#58; The given key was not present in the dictionary.&amp;#93;&lt;br /&gt;&lt;br /&gt;System.ThrowHelper.ThrowKeyNotFoundException&amp;#40;&amp;#41; &amp;#43;28&lt;br /&gt;&lt;br /&gt;System.Collections.Generic.Dictionary&amp;#96;2.get_Item&amp;#40;TKey key&amp;#41; &amp;#43;7452124&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.Parameters.ParameterResolverMap.GetResolver&amp;#40;ParameterAttribute resolutionAttribute&amp;#41; &amp;#43;77&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.Properties.SetPropertiesStrategy.EmitResolveProperty&amp;#40;ILGenerator il, PropertyInfo prop&amp;#41; &amp;#43;87&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.Properties.SetPropertiesStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild, ILGenerator il&amp;#41; &amp;#43;395&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.PlanBuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;105&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.PlanBuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;126&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.DynamicMethodPlanBuilderPolicy.CreatePlan&amp;#40;Type typeToBuild, String idToBuild&amp;#41; &amp;#43;372&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.BuildPlanStrategy.GetPlanFromContext&amp;#40;IBuilderContext context, Type typeToBuild, String idToBuild&amp;#41; &amp;#43;157&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.BuildPlanStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;51&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.Strategies.SimplifiedSingletonStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;245&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.TypeMappingStrategy.BuildUp&amp;#40;IBuilderContext context, Type t, Object existing, String id&amp;#41; &amp;#43;278&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;255&lt;br /&gt;&lt;br /&gt;BuildUp_ASP.modules_inbox_inbox_aspx&amp;#40;IBuilderContext , Type , Object , String &amp;#41; &amp;#43;171&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.DynamicMethodPlan.DynamicMethodBuildPlan.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String id&amp;#41; &amp;#43;63&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.BuildPlan.BuildPlanStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;81&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.Strategies.SimplifiedSingletonStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;245&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.TypeMappingStrategy.BuildUp&amp;#40;IBuilderContext context, Type t, Object existing, String id&amp;#41; &amp;#43;278&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;38&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp&amp;#40;IBuilderContext context, Type typeToBuild, Object existing, String idToBuild&amp;#41; &amp;#43;289&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.WCSFBuilderBase&amp;#96;1.DoBuildUp&amp;#40;IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList&amp;#91;&amp;#93; transientPolicies&amp;#41; &amp;#43;139&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.ObjectBuilder.WCSFBuilderBase&amp;#96;1.BuildUp&amp;#40;IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList&amp;#91;&amp;#93; transientPolicies&amp;#41; &amp;#43;55&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.CompositionContainer.BuildItem&amp;#40;IBuilder&amp;#96;1 builder, IReadWriteLocator locator, Object item&amp;#41; &amp;#43;411&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.WebClientApplication.BuildItemWithCurrentContext&amp;#40;Object obj&amp;#41; &amp;#43;187&lt;br /&gt;&lt;br /&gt;Microsoft.Practices.CompositeWeb.Web.UI.Page.OnPreInit&amp;#40;EventArgs e&amp;#41; &amp;#43;47&lt;br /&gt;&lt;br /&gt;System.Web.UI.Page.PerformPreInit&amp;#40;&amp;#41; &amp;#43;31&lt;br /&gt;&lt;br /&gt;System.Web.UI.Page.ProcessRequestMain&amp;#40;Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint&amp;#41; &amp;#43;282&lt;br /&gt;</description><author>jatindua</author><pubDate>Wed, 29 Apr 2009 00:33:58 GMT</pubDate><guid isPermaLink="false">Created Issue: Using custom Parameter Attribute gives Key Not Found in Dictionary Exception 20090429123358A</guid></item><item><title>Reviewed: 1.0.51206.0 Production (Dec 27, 2008)</title><link>http://www.codeplex.com/ObjectBuilder/Release/ProjectReleases.aspx?ReleaseId=1613</link><description>Rated 5 Stars (out of 5) - Abstraction, decoupling and flexible architectures are the future of software design. </description><author>gsscoder</author><pubDate>Sat, 27 Dec 2008 12:32:22 GMT</pubDate><guid isPermaLink="false">Reviewed: 1.0.51206.0 Production (Dec 27, 2008) 20081227123222P</guid></item><item><title>New Post: What would you like in OB 2.0?</title><link>http://www.codeplex.com/ObjectBuilder/Thread/View.aspx?ThreadId=456</link><description>&lt;div style="line-height: normal;"&gt;Update: I just realized someone else had suggested this. Pls ignore mine:&lt;br&gt;
&lt;a href="http://www.codeplex.com/ObjectBuilder/Thread/View.aspx?ThreadId=2256"&gt;http://www.codeplex.com/ObjectBuilder/Thread/View.aspx?ThreadId=2256&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Here's something I could think of. I apologize if ultimately some or all of this may be irrelevant due to the fact that I'm just getting my feet wet with this framework.&lt;br&gt;
This enhancement relates to ReflectionStrategy and its derivatives. &lt;br&gt;
It would be nice if after a Type is reflected for its contracutors/methods/properties that need some sort of injection, this information be cached. By that i don't mean the object but rather the type's injection points. The next object to be built from the same type would not have be wait for the whole reflection to take place again.&lt;br&gt;
jeff 
&lt;/div&gt;</description><author>jeffsaremi</author><pubDate>Thu, 25 Dec 2008 17:37:32 GMT</pubDate><guid isPermaLink="false">New Post: What would you like in OB 2.0? 20081225053732P</guid></item><item><title>New Post: The Contrast between "object existing" and BuilderStage.PreCreation</title><link>http://www.codeplex.com/ObjectBuilder/Thread/View.aspx?ThreadId=43011</link><description>&lt;div style="line-height: normal;"&gt;Before the creation of an object that is the BuilderStag.PreCreation, what is it that is being passed as &amp;quot;existing&amp;quot; in the BuildUp method? Are we supposed to have an object before it's being created? What sort of object is that? &lt;br&gt;
thanks&lt;br&gt;
jeff
&lt;/div&gt;</description><author>jeffsaremi</author><pubDate>Thu, 25 Dec 2008 17:25:40 GMT</pubDate><guid isPermaLink="false">New Post: The Contrast between "object existing" and BuilderStage.PreCreation 20081225052540P</guid></item><item><title>New Post: What Does SingletonStrategy do?</title><link>http://www.codeplex.com/ObjectBuilder/Thread/View.aspx?ThreadId=43010</link><description>&lt;div style="line-height: normal;"&gt;If someone could direct me to any material explaining what SingletonStrategy does and why it's needed I'd appreciate it.&lt;br&gt;
It looks like that CreationStrategy already handles Singletons.&lt;br&gt;
thanks&lt;br&gt;
jeff
&lt;/div&gt;</description><author>jeffsaremi</author><pubDate>Thu, 25 Dec 2008 17:22:11 GMT</pubDate><guid isPermaLink="false">New Post: What Does SingletonStrategy do? 20081225052211P</guid></item></channel></rss>