Asp.net(Webforms)中的请求 - 响应模式是否与在MVC世界中传递和返回的“模型”相同(或类似)。基本上,如果所有请求/响应类正在进行的操作仍然需要使用请求/响应(即创建单独的请求和响应类)模式,那么它是否包含与请求或响应相关的一些属性,并且实际上可以放在模型中,例如
LoginRequest.cs contains
string Username { get; set; }
LoginResponse.cs contains
string AuthenticationTicket { get; set; }
而LoginModel.cs会有
string Username { get; set; }
string AuthenticationTicket { get; set; }
哪个更适合在MVC世界中使用?
感谢。
答案 0 :(得分:0)
有人可能会争辩说,根据你看到它的级别,它们都是相同的,因为你有一个请求(带有通过模型绑定器绑定的上下文参数/模型的回发)和响应(更改响应对象/呈现视图)在每个请求中都基于viewmodel),但在另一个层面上它们是根本不同的,因为webforms被认为是Windows窗体开发人员自然而然的,而IMC是一个更成熟,更好的Web框架SoC架构。
在处理MVC应用程序时,我通常会选择一个代表视图模型的类,另一个代表对请求有意义的类,因此在用户详细信息场景中我会有这样的事情:
public class LoginModel
{
public string Username {get;set;}
public string Password {get;set;}
}
public class LoginViewModel
{
public string Username {get;set;}
public string Fullname {get;set;}
public string LastLogin {get;set;}
}
public ActionResult Login(LoginModel model)
{
/* do whatever you need */
return new LoginViewModel { ... };
}
答案 1 :(得分:0)
在处理WCF方案时,您仍需要请求/响应DTO。 Request实体应该是可序列化的,并包含与MVC View分离的信息。另一方面,视图模型包含绑定到相关视图的信息。希望这有帮助!