asp.net - 通过 Web 服务访问连接字符串

标签 asp.net web-services connection-string

将连接字符串存储在数据库中的想法是一个反常的想法,但请先听我说完。我们都知道加密 web.config 文件中的连接字符串是最佳实践,但是如果我们完全跳过 web.config 文件会怎样?

几个月前,我被要求将数据库从一台服务器移动到另一台服务器。这意味着必须更新访问这些不同数据库的每个程序中的连接字符串。这是两年内我第三次不得不将数据库从一台服务器移动到另一台服务器。因此,我想到将连接字符串存储在数据库中,并为每个连接字符串分配一个可以通过 Web 服务访问的 GUID。您无需将连接字符串放在 web.config 中,只需将连接字符串 GUID 存储在 web.config 中,并引用连接字符串 Web 服务,以便您可以请求该连接字符串。加密可以在应用程序级别完成,连接字符串只是加密存储在数据库中。

我已经创建了一个概念验证,它运行良好(它仅在本地 Intranet 上,而不暴露在互联网上)。

好处对我来说是显而易见的;例如能够快速更新连接字符串,而无需接触 Web 应用程序。这意味着您可以构建一个仅用于编辑数据库中的连接字符串的 Web 应用程序,DBA 可以自己使用该应用程序,因此他们在移动数据库时永远不必打扰程序员。

但我感兴趣的不是好处。我感兴趣的是这里的每个人对做这样的事情有何看法?

最佳答案

将连接字符串从主 web.config 中取出,并将其放入单独的配置文件中。此文件对于您的所有应用程序来说都是相同的,因此如果它们必须更改,您只需将相同的文件复制并粘贴到所有应用程序文件夹中,而不是单独编辑每个配置。

关于asp.net - 通过 Web 服务访问连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/697504/

相关文章:

asp.net - 如何更改 Google Recaptcha 宽度?

java - 无法使用 Volley 库中的 Intent 从 fragment 继续下一个 Activity

php - ReSTLer 总是返回未找到

c# - 拆分连接字符串

javascript - 在 AJAX 调用中通过查询字符串发送时丢失 unicode 字符

c# - IEnumerable<T> 线程安全?

c# - 如何实现不将响应封装在 XML 中的 .Net WebService?

c# - 根据连接字符串判断是否存在 SQL Server CE 4.0 数据库文件

.net - 连接字符串中的 SQL Server Compact 'Data Directory' 宏 - 需要更多信息

c# - 带有 ASP.NET 的 app.config API 中的 ConnectionString