如果有人能指出我正确的方向,我真的很感激。
我正在尝试构建基于Azure的网站。我已经在使用Blob存储来存储大量照片。存储与网站全局配置相关的设置的最佳方法是什么?
例如,通过管理界面,某些设置需要能够更改,例如“FooterCopyrightText”或“Countries”(带有区号代码列表等)。我不想将它们构建到Web.Config中,或者将其作为App_Data中的数据文件包含在内。
如果这是一个本地桌面应用程序,我可以简单地反序列化一个XML文件并将其作为静态变量存储在内存中,但这种方法不适用于Azure上的可伸缩应用程序。
我的想法是将其存储在Azure Blob存储中,然后缓存设置。
这是正确的方法吗?
感谢您的任何想法或指示。
答案 0 :(得分:1)
我们最近的项目遇到了类似的问题,我们需要存储与我们发送的各种电子邮件相关联的HTML。我们最终将文本存储在Azure表存储中,这提供了一种便宜且快速的方式来存储这样的信息,可以跨多个角色和网站进行全局访问。
这是一个walkthrough,可以帮助您入门。
答案 1 :(得分:1)
您可以使用Azure SQL存储配置数据。它会为您提供关系数据(例如,与特定国家/地区绑定的区域代码),并且您不会因查询而产生任何费用,如果您需要为每个页面加载检索此配置,则可能会节省成本。或者罗伯特的方法同样好。它可能取决于数据类型和最佳访问模式。
使用Entity Framework and code-first migrations,您可以相对轻松地创建配置模型,然后根据需求进行迁移。
答案 2 :(得分:1)
您可以使用ServiceConfiguration.cscfg文件。与web.config或app.config几乎相同,但您可以通过Azure管理控制台动态更改值。当然,您必须使用RoleEnvironment.GetConfigurationSettingValue而不是普通的ConfigurationManager类。
更新:此链接有点旧,但看起来它仍然涵盖了使用ServiceConfiguration.cscfg文件{\ n} {/ 3>}需要知道的内容