bni*_*and 5 asp.net web-config data-access-layer 3-tier n-tier-architecture
民间,
我有一个按名称空间划分的相当n层的ASP.NET项目,但我需要分为三个项目:数据层,中间层和前端。
我这样做是因为...
答:这似乎是正确的做法,并且
B)我在运行ASP.NET托管程序集的单元测试时遇到各种问题。
无论如何,我的问题是,您在哪里保存配置信息?
例如,现在,当实例化新的数据上下文时,我的中间层类(使用Linq到SQL)会自动从web.config中提取其连接字符串信息。
如果我的数据层在另一个项目中,可以/应该使用web.config作为配置信息吗?
如果是这样,单元测试(通常在单独的组件中)将如何提供soch配置信息?
感谢您的时间!
我们将它们保存在一个全局“设置”文件中,该文件恰好是 XML。该文件包含所有全局设置,其中之一是指向相应服务器的连接字符串以及用户名和密码。然后,当我的应用程序使用它时,它们会将所需的特定目录(数据库)放入连接字符串中。
我们为每个操作环境(prod、dev、staging 等)都有一个文件版本。然后,通过两个设置——文件路径(带有代表环境的令牌)和环境——我可以选取正确的设置文件。
这还有 30 秒故障转移的好处。只需更改设置文件中的服务器名称并重新启动应用程序(Web),您就可以进行故障转移(当然,如果需要,您必须恢复数据)。
然后,当应用程序启动时,我们将正确的连接字符串写入 web.config 文件(如果不同)。这样,我们就可以通过更改一个 appSettings 值来将网站从 DEV 更改为 PROD。
| 归档时间: |
|
| 查看次数: |
2008 次 |
| 最近记录: |