Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>To answer your question you can have your cake and eat it too in StructureMap. You can configure your container from code and push in that extra bit of config you need from the application configuration. That is what <a href="http://structuremap.sourceforge.net/RegistryDSL.htm" rel="nofollow noreferrer">EqualToAppSetting</a> is for.</p> <p>Create a settings class</p> <pre><code> public class DatabaseSettings { public DatabaseSettings(string type, string connectionString) { Type = type; ConnectionString = connectionString; } public string Type { get; set; } public string ConnectionString { get; set; } } </code></pre> <p>Next tell StructureMap to configure it using your application settings.</p> <pre><code> [Test] public void setup_concrete_class_via_application_configuration() { var container = new Container(config =&gt; { config.ForConcreteType&lt;DatabaseSettings&gt;().Configure .Ctor&lt;string&gt;("type").EqualToAppSetting("dovetail.database.type", "mssql") .Ctor&lt;string&gt;("connectionString").EqualToAppSetting("dovetail.database.connectionString"); }); var databaseSettings = container.GetInstance&lt;DatabaseSettings&gt;(); databaseSettings.Type.ShouldEqual("mssql"); databaseSettings.ConnectionString.ShouldEqual("Data Source=.; Initial Catalog=dovetail;User Id=sa;Password=sa;"); } </code></pre> <p>Finally here is what the application settings look like in my application config:</p> <pre><code> &lt;appSettings&gt; &lt;add key="dovetail.database.type" value="mssql"/&gt; &lt;add key="dovetail.database.connectionString" value="Data Source=.;Initial Catalog=dovetail;User Id=sa;Password=sa;"/&gt; &lt;/appSettings&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload