.net - 是否有专门针对 .NET/TFS 环境进行调整的十二因素应用程序示例?

标签 .net tfs soa

有一份优秀的文档,名为“十二要素应用程序”( http://www.12factor.net/ ),其中作者试图定义设计、构建和部署现代应用程序即服务的完美方法。

该文档非常笼统,在许多情况下,所描述的实践不是最佳的、不易实现的或违反 Microsoft 的最佳实践。 例如:该文档不鼓励使用配置文件,而是使用环境变量进行配置。这在 .NET 中似乎是不正确的,因为使用 XML 配置文件是常见(最好?)的做法。

在一个理想的世界中(即忘记预算/技术/技能限制),在一个组织中,Microsoft 平台被选为所有部署的首选平台,而 .NET/TFS 被选为开发环境/工具的首选,那么一个组织将如何遵循十二因素应用程序中的指导吗?

是否有此类应用程序的任何好的示例(也许是具有出色引用架构的开源应用程序)?

最佳答案

我已经阅读了有关配置的部分,作者显然不了解.NET中配置文件的使用。他们所表达的问题是我们过去在 .ini 文件中遇到的问题。 .NET 不存在这些问题,因为:

  1. “桌面”应用程序每次部署都有一个配置文件。 “app.config”将作为 program.exe.config 存在,部署到与应用程序相同的文件夹中。
  2. 在网络应用程序中,web.config 文件的层次结构将再次存在于明确定义的位置,并具有明确定义的名称。
  3. Visual Studio 2010 中的 web.config 转换功能允许将主配置文件以及指定如何自动编辑每个构建配置(环境)的主文件的转换文件检入源代码管理。所有这些文件都可以存储在源代码管理中。
  4. 虽然凭据默认存储在此类文件中(因此会 checkin 源代码管理),但这并不是必需的。
  5. 至少就 Web 应用程序而言,IIS 的 MSDEPLOY 功能以及 Visual Studio 2010 的 Web 发布管道允许对部署进行参数化。默认情况下,这包括连接字符串的参数化,这是可能出现凭据的主要区域之一。这可以扩展到包括所有凭据或其他敏感数据的参数化,以便开发人员无法访问此信息。这些参数可以作为部署过程的一部分进行填写。

关于.net - 是否有专门针对 .NET/TFS 环境进行调整的十二因素应用程序示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11086388/

相关文章:

.net - SQL Server 2008 的免费架构导出?

.net - 一个类的字符数组

c# - 如何以编程方式确定 Windows 任务栏是否隐藏?

c# - 如何从 Form1 访问 Form3 中的文本框?

visual-studio - Visual Studio 2013 和 TFS 2013 中更改代码的代码覆盖率

java - Apache Camel 到底是什么?

tfs - Msbuild CoreCompile 依赖于目标

visual-studio - tfIgnore 在 Visual Studio 2013 中对我不起作用

java - Android - 服务是否在进程之间共享?

wcf - 托管服务引擎 (MSE) 路线图