ConnectionStrings的ServiceDefinition.csdef和Web.config有什么区别?

时间:2015-05-24 19:02:21

标签: asp.net visual-studio azure

在我的VS2013解决方案中,我有:

  • Cloud Service。
  • Web角色。

为什么我必须在CloudService' WebRole'中指定数据库连接字符串?属性,还有Web.config文件(在WebRole项目中)?

两者之间的本质区别是什么?

2 个答案:

答案 0 :(得分:2)

在Cloud Service的WebRole属性中定义设置时,会将其保存到角色的配置设置文件(* .cscfg)中。在此处保存连接字符串的优点是您可以在不必重新部署程序包的情况下即时更改设置。

如果在web.config文件中定义此设置,如果要对此设置进行任何更改,则必须创建新包并重新部署该包,因为您的web.config文件包含在包文件中。 / p>

答案 1 :(得分:1)

CloudConfigurationManager Class。使用CloudConfigurationManager.GetSetting("StorageConnectionString")将从相应的配置存储中检索设置 - 在Web角色的情况下:首先查找ServiceDefinition.csdef中的设置,如果在那里找不到,它将在web.config中查找价值。