【问题标题】:.net assemblies and individual configuration.net 程序集和单独配置
【发布时间】:2012-05-27 04:54:44
【问题描述】:

我的主要程序集是一个 Web 应用程序。它使用 spring.net 框架将其他程序集加载到其正在执行的应用程序域中。因此,这自然意味着所有那些 其他 程序集都必须从 web.config 获取它们的配置值(例如连接字符串和应用程序设置)。

有没有办法可以覆盖它?一些配置可以来自web.config;其他人必须分开居住。在开发此类 .net 程序集时我应该采取什么样的方法?目标是,一旦此应用程序进入客户端环境,并且客户端决定在遥远的将来某个地方添加程序集,他应该能够轻松地这样做,并且更改该程序集的配置而不影响其他程序集。

所以最终我必须提出一种基于框架的方法?是否已经有这种效果?或者我该怎么做?我会面临哪些挑战?

【问题讨论】:

标签: c# configuration spring.net .net-assembly


【解决方案1】:

Web 配置文件允许您创建自定义程序集特定的配置部分。

查看http://msdn.microsoft.com/en-us/library/2tw134k3.aspx了解详情

此外,您可以指定其他文件作为配置文件,供 .net 中的配置解析器使用和解析

您可以使用配置文件中的配置源选项来执行此操作:例如

在 App.config/Web.config 中

<configuration>
  <system.serviceModel>
    <services configSource="Services.config" >
    </services> 
  </system.serviceModel>
</configuration>

创建一个名为 Services.config 的文件并在其中:

<services>
  <service name="SomeNameSpace.MyService"
           behaviorConfiguration="MyServiceBehaviour">
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:1234/service"/>
      </baseAddresses>
    </host>
    <endpoint address="net.tcp://localhost:8000/service"
              binding="netTcpBinding"
              bindingConfiguration="Binding1"
              contract="SomeNameSpace.IService" />
  </service>
</services>

【讨论】:

  • 这并没有告诉我如何管理我的个人程序集配置。一切都必须写成 web.config...它会膨胀
  • 抱歉应该放更多信息,这里有管理自定义配置文件的文章aspalliance.com/705_Create_and_Use_a_Custom_Config_File
  • 您应该在答案正文中添加上述评论。我可以在这些文件中添加连接字符串和 wcf 引用吗?他们是为此而生的吗?
  • 是的,您可以,.NET 中有很多帮助程序可以帮助解析自定义配置数据。查看以下问题 - 它几乎涵盖了 stackoverflow.com/questions/482835/… ConfigSource 是一个不错的选择,因为它使用标准配置解析器。我已经用一个例子更新了我的答案 - 这是否涵盖了您的需求?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-01
  • 2012-01-17
  • 2010-11-04
  • 2018-10-13
  • 1970-01-01
  • 2010-10-05
相关资源
最近更新 更多