我应该如何使用MVVM模式在模型中获得用户输入
本文关键字:用户 输入 模型 何使用 MVVM 模式 我应该 | 更新日期: 2023-09-27 18:04:36
我正在使用c#和MVVM模式编写程序。这个程序有一个在线连接,需要登录。我已经创建了一个模型类来处理登录过程。
登录过程是这样的:登录凭据(用户名和密码)被在线发送到登录页面,登录成功后,服务器返回登录cookie。我将这些cookie存储在本地,并将它们与来自服务器的每个请求一起发送,直到它们过期。
我在模型中创建了一个getloginccookies()方法,我希望它是获取登录cookie的唯一方法。该方法的登录方法如下:获取存储的登录cookie,并与服务器进行验证。如果没有登录cookie,或者它们是无效的(例如过期),则要求用户提供新的凭据,并将它们发送到服务器并获得新的登录cookie。
我想在一个方法中处理所有事情的原因是,我想要有一个方法,它将始终给我有效的登录cookie(或中止操作),我可以在与服务器进行任何通信之前使用。
我的问题是,当使用MVVM模式时,实现用户输入的最佳方法是什么?
你想要一个服务而不是一个模型。服务只是一个实用程序类,可以通过依赖注入注入到ViewModels中(你正在使用IoC?)
给定登录只是系统的一部分,并且cookie将需要执行其他web调用,我将为完整的服务器交互创建服务。这样服务就可以把cookie保存在内部,你的应用就不必担心登录交互的细节了。
例如public class WebService {
public void Login(string username, string password) { ... }
public Data GetData() { ... }
public void AddNewData(Data data) { ... }
}