嗯,是的,同一主题上有多个帖子。我的问题的解决方案之一是多个web.config文件,但我不确定它是否有效。
问题:
我有一个asp.net项目。我有两个客户端(有自己的存储和数据库),我需要部署应用程序。存储和数据库只是两个示例,但客户端有许多其他独特的设置,可以在应用程序设置中进行管理。无论我对项目代码做了什么改变,我都需要为两个客户端部署。
目前我的网络配置如下所示:
<!-- GHR Settings -->
<connectionStrings>
<add name="DefaultConnection" connectionString="conn-string" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<acntName>;AccountKey=<acntKey>" />
<add key="StorageURL" value="<storageurl>" />
<add key="ProfileURL" value="<ProfileURL>" />
<add key="GenericURL" value="<GenericURL>" />
<add key="IDocURL" value="<IDocURL>" />
<add key="LogosURL" value="<LogosURL>" />
<add key="DocsURL" value="<DocsURL>" />
<add key="DefaultPassword" value="pass123" />
</appSettings>
<!-- TP Settings -->
<!--
<connectionStrings>
<add name="DefaultConnection" connectionString="conn-string" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<acntName>;AccountKey=<acntKey>" />
<add key="StorageURL" value="<storageurl>" />
<add key="ProfileURL" value="<ProfileURL>" />
<add key="GenericURL" value="<GenericURL>" />
<add key="IDocURL" value="<IDocURL>" />
<add key="LogosURL" value="<LogosURL>" />
<add key="DocsURL" value="<DocsURL>" />
<add key="DefaultPassword" value="pass123" />
</appSettings>
<add key="DefaultPassword" value="pass123" />
</appSettings> -->
如您所见,我复制了设置并评论了一个客户端的设置,并在服务器上进行部署。然后我为其他客户做这件事。
这项工作正常,但在发布期间维护过多而容易出错。
请说明这样做的正确方法。
感谢。
答案 0 :(得分:0)
我在我的案例中所做的是为DB connectionstring
创建一个单独的配置文件,并在web.config中引用该文件。通过这种方式,您可以为您的客户端提供相同的web.config,并且只需要发送一次connectionstring.config文件!
在web.config中
<connectionStrings configSource="ConfigFiles\ConnectionStrings.config" />
在该文件中放置了connectionstring
对于
部分可以做同样的事情