2

我将(希望)承担一个大型项目,将企业 Visual FoxPro 应用程序迁移到 .NET 3.5 上的 C# 3.0。我知道这个应用程序有大量的设置会影响从多用户/多站点配置到报告属性的所有内容。目前全球范围内至少有 150 种不同的设置。

这些设置当前只是作为位存储在应用程序的数据库中,这可以防止它们在用户级别被更改,因为所有实例共享相同的数据库。

我的问题是,您是否知道任何方法来处理这些设置的存储,以允许每个用户更改它们,而不会牺牲性能?它还需要以允许在应用程序运行时更改值的方式存储。任何想法,将不胜感激。

4

4 回答 4

4

我相信标准的 Settings.Settings 文件为您提供了此功能,包括应用程序或用户范围的变量。虽然我不能 100% 确定是否在不重新启动应用程序的情况下获取更改。

有关更多信息,请参见此处: MSDN:在 C# 中使用设置

于 2009-07-28T11:16:43.450 回答
1

如果您想进入“企业”,您可以尝试使用设置定义表,并与用户设置表配对。

设置定义将具有由域列(用于 UI 设置、连接设置、语言设置等...)和设置标识符定义的 PK。第三列将定义默认/全局值。

用户设置将 PK 设置为设置定义的 PK + 用户 ID 和设置值列 varchar(x)。

如果应用程序支持语言,则应将语言 ID 列添加到两个表中。

将用户更改保存到用户设置表应该很简单。在全局设置更改时收到通知有点复杂。

编辑:要记住的一件事是始终回退到一些默认值:全局设置/默认语言。

于 2009-07-28T11:29:26.857 回答
0

在存储设置的应用程序数据库中的表中添加一个用户字段,然后将当前用户作为参数添加到对该表的所有读/写调用。

于 2009-07-28T11:20:00.837 回答
0

您可能必须对数据/应用程序特定与用户特定的项目进行逻辑处理。在 VFP (foxpro) 中,表和它们各自的主键显然是相同的,与用户无关。其他的东西,例如默认值,可以根据个人用户、帐户、访问、添加/编辑/删除的能力等进行定制。

高温高压

于 2009-07-29T22:04:53.593 回答