我正在开发一个ASP.NET MVC 5应用程序,需要管理一些全局参数,这些参数基本上只是一组键值对。我的要求如下:
- 从服务器配置文件中读取初始值。
- 在每个控制器中均可读取/写入和添加/删除参数(例如,如果执行某个控制器,则可以添加新参数)。
- 参数应该在后续请求中可见(可以存在于
Session
中或序列化为QueryString
)。 - 应该可以使用特殊的管理网页轻松查看和管理它们(CRUD)。
我的"暴力"方法是使用List<Tuple<string,string>>
实现一个静态类来保存设置,使用System.Web.Configuration.WebConfigurationManager
填充初始值,使用静态属性将列表存储和检索到会话变量中,并设计一个单独的控制器和视图来管理设置。
但是我觉得这样做就像重新发明轮子。是否存在任何(不一定是全面的)现有解决方案(在ASP.NET中或作为NuGet包),可以让我利用已有的资源?或者我在ASP.NET中缺少了某些基本知识?
更新:根据参数的性质,其中一些可能具有Application
的生命周期,而另一些则绑定到当前用户会话。因此,它们需要在Session
对象中保留或在每个请求中"传递"。
Application
而不是Session
。 - Andy TList<Tuple<>>
只是为了通过向视图提供一个Enumerable<Tuple<>>
模型来简化 CRUD 操作的动态生成视图。 - Alexander Galkin