场景是这样的: 应用程序希望在数据库之间切换,以避免在数据库充满新数据时冗长的下载时间。
因此,我们的想法是用数据填充一个数据库,然后告诉Web服务(通过http调用)从现在开始使用这个数据库。
几周/几天后,我们获得了新数据。因此,我们花了几个小时填充其他数据库,然后告诉正在运行的Web服务切换。
那么,怎么会这样呢? Web服务中的数据库连接字符串应在Web服务重新启动后继续存在。
整个事情都在天蓝色上运行。 Web服务是否可以存储和修改设置?
很多问候!
答案 0 :(得分:2)
Azure Web Apps为此确切问题提供了专用解决方案。
在设置部分下,有应用程序设置。应用程序设置具有Connections字符串部分您可以在应用程序中使用此功能进行连接字符串处理。
然后,您可以通过Azure Web界面或Azure Powershell更改此连接字符串。
有关如何使用Azure连接字符串功能的文章:https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/。
答案 1 :(得分:1)
在设置中只需要几个连接字符串,并根据需要对应用程序进行编程以在它们之间切换。作为一个选项,您还可以使用一些通用数据库来存储设置,包括连接字符串到“数据”数据库,再次编程您的应用程序以进行切换。
答案 2 :(得分:1)
存储Azure网站/ Web应用程序的连接字符串的recommended位置是应用程序设置/连接字符串!
在内部,这些存储为运行时可用的环境变量。
通过Powershell,通过REST从App本身或其他应用程序推送更新,这将是一件相当简单的事情。我不确定您是否需要重新启动网络应用以获取更改。
例如,您可以拥有ConnectionString1
和ConnectionString2
。然后在您的应用程序中,您可以在运行时(使用connectionstring = ConnectionString1
)
如果你需要记住哪一个是最新的,你需要另一个数据源,可以是文件系统文件中的任何数据源!到Azure存储表值到另一个数据库。这将是一个静态数据库,您无法更改,只需存储此站点的配置数据即可。
如果你需要注入一个新的连接字符串,你可以通过Powershell做到这一点。还有一个REST API,您可以在应用程序中使用它来在内部进行管理。