Friday, 18 May 2012

structuremap 2.6 IncludeConfigurationFromConfigFile=true not working

When we are using structuremap 2.6.x  and adding structuremap configuration in the app.config/web.config. To  include configuration every one set the property IncludeConfigurationFromConfigFile=true. It is not working and seems to be not implemented. But when we are refering same app.config with AddConfigurationFromXmlFile(configfilepath) then it is working fine. when we are using app.config the file name of configuration is changed after the solution build. To include that configuration file find the solution below.
To get the name and path of configuration file as follows
var configName = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile; 
The example method and usage as follows:

 private static IContainer InitiazlizeFromAppConfigOrWebConfig()
 {
   var configName = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile; 
    return new Container(x =>
    {
     x.AddConfigurationFromXmlFile(configName);
      //x.IncludeConfigurationFromConfigFile = true; //seems not imeplemented
    });
}

Wednesday, 16 May 2012

ObjectFactory Vs Container StructureMap

ObjectFactory is a static gateway for an instance of container. If you only ever want one instance of a container, and want a simple static way to get at it, use ObjectFactory. You must Initialize the ObjectFactory, and then retrieve your instances via ObjectFactory.

 Alternatively, if you want to manage the lifetime of the container yourself, you can create an instance of Container, passing an initialization expression to the constructor. You then retrieve instances from the variable you declared to store the Container.