另一种保存配置的方法

时间:2017-10-06 11:20:16

标签: c# wpf mvvm

我想在MVVM中重新编写我现有的项目(WPF Code-Behind),并希望做得更好。

在旧项目中,我在App.config中保存了所有内容(包括MySQL连接信息)。 但我读到这是非常不安全的,不推荐。所以我想问你,MVVM是保存和读取配置的最佳和最安全的方式。

在配置中,我想存储以下内容,例如:

bool StayLoggedIn(当选中登录时的复选框时,这应该是真实的,这可能是不安全的) 字符串Mysql_DATABASE(数据库) 字符串Mysql SERVER(服务器) 字符串Mysql用户(用户) 字符串Mysql密码(密码)

如您所见,人们不应该看到此配置文件。但程序应该能够读写这个文件。

我也无法使用App.config,因为我在我的解决方案中创建了2个项目。 1为我的视图称为Ui.Desktop,1为我的ViewModel称为Logic.Ui。 所以Logic.Ui没有App.config,然后我无法访问App.Config。所以必须有另一种方式。

1 个答案:

答案 0 :(得分:0)

您仍然可以将应用程序配置文件与加密的连接字符串(或您需要的任何其他值)一起使用。如果" Ui.Desktop" project是解决方案启动项目,即必须具有app.config且其中包含数据的项目。那当然假设" Logic.Ui"项目是一个参考 我相信问自己更好的问题是你在哪里放置配置元素?如果你在你的" Logic.Ui"中构建它们。投影不是正确的项目。它被称为"关注点分离" 创建此解决方案的更好方法可能是创建一个项目,该项目涉及启动应用程序,读取任何配置以及运行您想要运行的任何内容。如果这是一个WPF应用程序,则将所有视图放在名为" Views"的文件夹中。如果你的" Logic.Ui"如果项目有ViewModel,那么你可以引用这个项目并使用你在" Logic.Ui"中构建的类。项目。如果不清楚,请告诉我。