在不同环境中测试/部署的最佳配置策略

时间:2011-10-11 21:08:16

标签: c# .net fluent-nhibernate

我正在创建一个使用Fluent NHibernate的Web服务,我正在开发几台机器,当然这些机器有不同的连接字符串。我想知道除了使用配置文件之外,我如何在不同环境中配置测试/部署服务。

例如,在每台机器上,我使用不同的服务器,对于测试,我使用测试数据库。我希望能够拥有它,以便当我在每台机器上签出时,我不必修改签入的文件(.config)来获取连接字符串。例如:

public interface IDataConfig
{
    public Server { get; set; }
    public Database { get; set; }
    public Username { get; set; }
    public Password { get; set; }

    public void Initialize();
    public string GetConnectionString();
    //...Other Fluent-hibernate specific configuration/session methods 
}

public ServiceDataConfig : IDataConfig
{
    //....
}

public TestDataConfig : IDataConfig
{
    //....
}

我想知道最好的事情是有一个配置文件读取连接字符串和任何其他配置,以便具体类选择它,或者我应该从存储库中签出后手动配置它们。

1 个答案:

答案 0 :(得分:0)

您希望查看Web Config Transforms,其中您可以为不同的部署方案提供多个配置文件。这样你就可以在TFS中使用它们而不会出现任何问题,只需检查它们,而不必担心每次需要部署时都要更改设置。

http://blogs.msdn.com/b/webdevtools/archive/2009/05/04/web-deployment-web-config-transformation.aspx

enter image description here