- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前我们有开发云服务(acme-dev-service)和生产云服务(acme-prod-service)。我们解决方案中当前的设置有一个名为 acme.application 的云服务项目,它使用 .cscfg 和 .csdef 文件的转换来将项目部署到两个环境(生产和开发)。我不喜欢这种转换方法,因为它对我来说有点像黑客。因此,经过一些研究后,您似乎可以拥有多个配置文件来解决一些问题,但我遇到了问题,因为只允许您使用一个服务定义。这对我们不起作用,因为生产环境需要额外的证书以及与我们的开发环境不同的 hostHeader 绑定(bind)。
所以看来我们真的无法摆脱使用转换。所以我想我的问题归结为我是否以错误的眼光看待Azure服务项目文件?我们真的应该将一个 Azure 项目映射到一项 Azure 云服务吗?我应该有一个用于生产的 Azure 项目和另一个用于开发的 Azure 项目吗?有一个更好的方法吗?或者在 Azure 中使用多个环境的最佳实践?
最佳答案
CSDefinition 文件才是真正的关键。如果您有一个值需要在两个环境(开发/测试/阶段/生产等)之间有所不同,那么您实际上有三个选择:
1) 部署前手动修改该值。呃……好吧……你有两个选择。
1) 进入 MS 构建过程并确定您选择的云配置(用于确定将使用哪个版本的 .cscfg 文件),然后让构建在构建之后和之前修改 .csdef打包(有时在打包之前文件已被复制到不同的目录,这就是您要进行更改的位置)。这可能很棘手,尽管我已经看到过它的完成,甚至我自己在早期的 SDK 时代也这样做过。这是一篇博客文章,解释了他使用 WebConfigTransformRunner 来执行此操作的一个示例:http://fabriccontroller.net/blog/posts/apply-xdt-transforms-to-your-servicedefinition-csdef-file/ 。我真的不认为这是你最好的选择,因为它是不透明的。目前还不清楚发生了什么,在你之后维护代码的人不会知道这个小 gem ,并且会花很长时间试图弄清楚为什么他们放入 csdef 某处的某些值在发布到之后会以某种方式被覆盖不同的环境。
2) 使用您提到的两种 Azure 项目方法。你可以在所选的构建工具中设置构建定义,以确定要构建和发布的 Azure 项目。我个人认为这是处理不同 .csdef 文件的最佳方法。它很简单,不需要修改 csproj 文件。我并不反对更改 csproj 文件,只是它的完成并不太明显,而且作为继承了此类事情的人来说,很难发现人们何时做这种事情,而且他们也不会告诉他们你关于它。
关于多个环境中的 Azure 云服务项目配置(.csdef 和 .cscfg),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17605042/
我确实意识到他的问题已被提出并得到解答,但不幸的是,完全清理、重建、重新启动......的解决方案在我的情况下不起作用,而且我的低声誉不允许我发表评论。所以我认为我有必要再次询问我的信息。示例代码:
我已将我的应用程序配置为在开发设置中使用本地服务配置。 我有两个 cscfg 文件(默认)云和本地。我为存储添加了连接字符串,告诉它使用 Cloud.cscfg 中的实时帐户和 Local.cscfg
有谁知道是否可以从角色的startup.cmd访问ServiceConfiguration.cscfg? ServiceConfiguration.cscfg 是否放置在角色的物理 VM 上的任何位置
有谁知道是否可以从角色的startup.cmd访问ServiceConfiguration.cscfg? ServiceConfiguration.cscfg 是否放置在角色的物理 VM 上的任何位置
我已经在本地创建了一个 Web 角色,但我正在努力使用 Windows azure sdk 来执行此操作,手册似乎没有给出有关如何操作的明确说明? 谢谢 最佳答案 在 Visual Studio 中,
我有一个基于 RM 订阅创建的云服务(经典)。我需要读取其服务配置(.cscfg),更新配置并将其重新部署回云服务。 我在 Classic 上使用 get-azuredeploy 命令完成此操作,但此
Web.Config 网页表单 " MaximumValue="" Type="Integer" /> Web.config 文件中的应用程序设置在部署过程后为只读。因此,我将这些
遵循 Hanselman 关于新 ASP.NET 通用提供程序的帖子: http://www.hanselman.com/blog/IntroducingSystemWebProvidersASPNE
我正在尝试创建一个启动脚本或任务来更改 cscfg 文件中的配置设置,并在角色启动时执行。 我可以访问这些设置,但无法成功更改它们。我希望获得有关如何更改“角色开始”上的设置的指示,或者是否可能。 谢
我有两个 MVC 项目。我创建了两个 WindowsAzure 项目:WindowsAzure1-> 哪个包 MVC1 和 WindowsAzure2-> 哪个包 MVC2 项目。在本地 TFS 20
有谁知道这是否可能 - 如果可以的话如何做到?我需要能够定期更新 .cscfg 文件中存储的设置,并想知道这是否可以通过代码来完成。即无需每次都将新的 .cscfg 文件上传到 Azure。非常感谢
我是 Windows Azure 的新手。所以我正在做 RnD。我们可以直接更新 ServiceConfiguration.cscfg 还是必须通过 Visual Studio 部署角色。 我在更新
我是 Windows Azure 的新手。所以我正在做 RnD。我们可以直接更新 ServiceConfiguration.cscfg 还是必须通过 Visual Studio 部署角色。 我在更新
我对 532 和 533 考试中的一些问题感到惊讶,这些问题或多或少想让我准确记忆一下云服务配置文件中的设置。我认为在基本层面上,如果没有我面前的文档,这是一件很难辨别的事情。 例如:缩放给定角色的实
目前我们有开发云服务(acme-dev-service)和生产云服务(acme-prod-service)。我们解决方案中当前的设置有一个名为 acme.application 的云服务项目,它使用
我正在进行 azure worker 角色项目。下面是我的配置 (.cscfg) 中的代码。 c# (FLAG = 1;)我想通过 C# 代码更改这个值。 有什么方法可以动态更改 azure 服务配置
在我们的项目中,我们想要使用 Azure 诊断。一切都很好,除了一件事之外,似乎无法加密 cscfg 文件中的 Azure 诊断连接字符串。以 cscfg 中的此配置部分为例(实际值被隐藏): 在上面
因此,在 Azure 中,我创建了一个云服务,现在我想上传一个部署。它需要一个包(当然,这很简单,一个 zip 文件)和一个配置文件(.cscfg 文件)。我知道 .cscfg 文件应该定义角色、网络
我正在编写 cscfg 文件。我想将其值之一呈现为枚举: enum Importance { None, Trivial, Regular, Important,
我们正在尝试在我们的 Azure 应用程序中实现一些动态可配置的日志记录,并且我们正在使用企业库来执行此操作,效果很好,但是实现此目的所需的 xml 比简单的“appSetting”样式设置更复杂Se
我是一名优秀的程序员,十分优秀!