Asp.net Web应用程序配置设置-哪个位置更适合存储

Asp.net Web应用程序配置设置-哪个位置更适合存储,asp.net,architecture,Asp.net,Architecture,我提前几天遇到了一个案例研究。它与web应用程序体系结构相关。 这是一个场景, 例如,1000个web应用程序使用一个web服务。此web服务托管在特定服务器上。如果web服务托管位置发生更改,其他应用程序如何知道此更改? 将其保存在web.config中似乎不是一个可行的解决方案,因为我们需要修改所有应用程序的web.config文件。 我的想法是将这些设置保存在一个公共存储库中,并让所有应用程序将其用于web服务地址,但还是有一个存储这个公共存储库的问题。 我只是想知道如何以更好的性



我提前几天遇到了一个案例研究。它与web应用程序体系结构相关。
这是一个场景,
例如,1000个web应用程序使用一个web服务。此web服务托管在特定服务器上。如果web服务托管位置发生更改,其他应用程序如何知道此更改?
将其保存在web.config中似乎不是一个可行的解决方案,因为我们需要修改所有应用程序的web.config文件。
我的想法是将这些设置保存在一个公共存储库中,并让所有应用程序将其用于web服务地址,但还是有一个存储这个公共存储库的问题。

我只是想知道如何以更好的性能实现这一点。

提前感谢您提供的任何建议。

您是否可以完全访问或控制使用该web服务的所有web应用程序?如果是这样的话,您可以有一个脚本或一些自定义代码来一次更新他们的所有web.config。这似乎太多的工作,但事实上,通过这种方式,您可以拥有更多的控制权,并且最终,您还可以只指向新的url一些应用程序,而将其他一些应用程序留在另一个url上

在集中式数据库中设置的想法使您能够更快地进行更新传播,这在出现错误的情况下也可能是不好的,然后所有应用程序都引用同一个位置,并且无法拆分此位置。然后,无论如何,您必须从他们所有人连接到一个集中的数据库,也许您应该向他们的web.config添加一个键,并将连接字符串添加到该数据库,然后,如果该数据库无法访问或关闭,web应用程序将无法使用web服务,因为他们无法获取该服务的url

我会选择web配置,最终您可以拥有一个设置帮助器类,该类抽象该url的检索,以便UI或前端不知道该url来自何处

无论如何,您是否计划经常更改web服务的url?将它复制到一个新的url,但同时在当前url上保留一段时间,这不是更好吗

web.config方法的另一个优点是,每次更新和保存应用程序时,应用程序都会重新启动,而数据库中的更改可能需要一段时间才能被检测到,以防使用某种缓存机制

希望这有帮助


Davide.

您是否可以完全访问或控制所有使用该web服务的web应用程序?如果是这样的话,您可以有一个脚本或一些自定义代码来一次更新他们的所有web.config。这似乎太多的工作,但事实上,通过这种方式,您可以拥有更多的控制权,并且最终,您还可以只指向新的url一些应用程序,而将其他一些应用程序留在另一个url上

在集中式数据库中设置的想法使您能够更快地进行更新传播,这在出现错误的情况下也可能是不好的,然后所有应用程序都引用同一个位置,并且无法拆分此位置。然后,无论如何,您必须从他们所有人连接到一个集中的数据库,也许您应该向他们的web.config添加一个键,并将连接字符串添加到该数据库,然后,如果该数据库无法访问或关闭,web应用程序将无法使用web服务,因为他们无法获取该服务的url

我会选择web配置,最终您可以拥有一个设置帮助器类,该类抽象该url的检索,以便UI或前端不知道该url来自何处

无论如何,您是否计划经常更改web服务的url?将它复制到一个新的url,但同时在当前url上保留一段时间,这不是更好吗

web.config方法的另一个优点是,每次更新和保存应用程序时,应用程序都会重新启动,而数据库中的更改可能需要一段时间才能被检测到,以防使用某种缓存机制

希望这有帮助


大卫。

谢谢你的回复,大卫。在完全访问的情况下,编写脚本可能很有用。但是,我认为如果所有的web应用程序都托管在不同的服务器上,那么这样做可能会很麻烦。如果你是对的,那么你最终可以使用另一个web服务和web方法来获取用于另一个服务的最新url,当然,这只适用于您能够为此类帮助服务维护永久url的情况。感谢Davide的回复。在完全访问的情况下,编写脚本可能很有用。但是,我认为如果所有的web应用程序都托管在不同的服务器上,那么这样做可能会很麻烦。如果你是对的,那么你最终可以使用另一个web服务和web方法来获取用于另一个服务的最新url,当然,这只适用于您能够维护此类帮助器服务的永久url的情况。