在asp.net核心项目中管理多个配置文件的最佳方法

问题描述 投票:0回答:2

我目前正在研究一个asp.net核心(c#)Web API项目。

每个对Web API的调用将具有唯一的密钥,以帮助识别进行该调用的用户。

每个呼叫者将具有与之关联的一组特定的配置值。我预计将有大约100到200个不同的用户将访问此Web API。我想尝试使用唯一键将每个调用方的所有配置保存在配置文件中。我预计配置文件中每个呼叫者大约会有30到50个设置(某些设置可能多达100个)。

我的问题:AppSetting.json文件是保存这些值的最佳位置,还是我应该为每个调用创建单独的配置json文件并在需要时加载。效率是需要考虑的问题。

c# asp.net asp.net-core appsettings
2个回答
0
投票
对于具有50个设置的100个用户,以dB为单位进行管理将更加容易,并且可以防止在多线程情况下高并发期间锁定文件。如果设置不是关系型的,则更好的选择是NoSQL db。

管理分布在100到200个文件中的5,000个设置将是一场噩梦。如果需要进行批量SELECT,UPDATE等操作,请考虑使用NoSQL或轻量级RDBMS。

它是如此之小,性能差异几乎不会引起注意,因此,最容易阅读,维护和建立的就是我的专业建议。


0
投票
将这些内容保存在appsetting.json中看起来很危险(容易为错误的客户端更改配置),并且难以维护。这也可能会影响调试,因为在开发和生产环境中可能会有一组不同的配置文件。

还有性能方面的考虑。从磁盘读取大量文件不是最好的事情。您始终可以将其缓存在内存中,但随后内存占用量会增加。

© www.soinside.com 2019 - 2024. All rights reserved.