试图让Unity从配置文件中设置属性

时间:2012-08-08 18:10:03

标签: c# configuration properties unity-container

我已经启动Unity并且正在运行,但是我正试图弄清楚最后一件事是让它像我们正在努力替换的内部开发的DI引擎一样工作。

一旦我实例化了对象并从一个配置文件中设置了一些属性,我如何让它从一个XML文件填充对象中的一大堆属性/字段,该文件位于几个级别的文件夹中从根?

如果你能指出我的方向,我会非常感激。

这是使用旧系统的文件之一:

<?xml version="1.0" encoding="utf-8" ?>
<component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:noNamespaceSchemaLocation="http://mamc-sharepoint.army.mil/sites/Informatics/mamcDev/Schemas/MAMC.EnterpriseLibrary/DIComponent_v1.0.0.1.xsd">
  <type name="MAB.Test.Framework.WebTest.WebTestSettings"
        assembly="${Assemblies[MAB.Test.Framework]}"/>
  <properties>
    <!--Some semi active settings. Intended to be used to keep the browser running between test methods.-->
    <add name="StartServerIfNotRunning">true</add>
    <add name="StopServerIfRunning">true</add>
    <add name="ServerLeaveRunning">false</add>

    <!--Instructions on which browser to use for the testing.-->
    <!--iexplorer, firefox, htmlunit-->
    <add name="BrowserString">firefox</add>

    <!--
    BrowserURL is the base URL for the application under test.  
    Remember to include the forward slash at the end of the URL.
    -->
    <add name="BrowserURL">https://www.google.com/</add>

    <!--The default amount of timeout we're going to use for waiting for actions to happen.-->
    <add name="BaseTimeout">4000</add>
    <!--A modifier that slows down or speeds up the playback depending on the environments behavior.-->
    <add name="TimeoutMultiplier">1</add>
  </properties>

</component>

谢谢,

MArk B。

1 个答案:

答案 0 :(得分:0)

这对于一个简单的评论来说太过分了:

上面显示的XML文件中的设置应该初始化哪种对象?

这看起来像环境设置,而不是User等对象的设置。

这些设置仅适用于测试环境吗?还是对于生产环境? Visual Studio supports different debug and release config files。甚至可以transform the web.config file for different build configurations

最后:来自配置文件的This is an example on how to read settings,没有编写自定义区域处理程序的麻烦。