asp.net-mvc - 在 ASP.NET MVC 的 View 层中使用 webservice 类型好吗?

标签 asp.net-mvc web-services architecture

我正在使用以下架构启动新的 ASP.NET 应用程序。

Controller 从网络服务获取数据并将其转发到 View 。他们只查看格式化数据。我看到有两种方法。

1) Controller 从Web服务加载数据并将其转发到 View 。我不太喜欢,因为 View 依赖于网络服务。我的意思是因为 View 使用来自网络服务的类型。

2) Controller 从Web服务读取数据并创建新对象并将此新对象(模型)转发给 View 。这样更好,因为 View 不依赖于 webservice,但我不喜欢重新打包从 webservice 查询的每个对象。

你的意见是什么?

最佳答案

选项 n°2 是最好的。这些新对象称为 View 模型,它们被创建为仅包含 View 需要显示的数据。 是的,将对象从 Web 服务映射到 View 模型会很烦人,但它存在像 AutoMapper 这样的库,可以帮助您更轻松、更快速地完成此操作。

关于asp.net-mvc - 在 ASP.NET MVC 的 View 层中使用 webservice 类型好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29732657/

相关文章:

asp.net-mvc - 已为布局页面定义部分但未呈现 "~/Views/Shared/_Layout.cshtml": "head"

c# - 我应该在不同的 View 中重用 View 模型吗?

java - 使用 Metro,向客户端添加 MTOMFeature 会导致 MIMEParsingException,为什么?

api - API 是否应该将所有工作委托(delegate)给其他服务?

c# - 把方法放在哪里。存储库上的服务层 ( BL )?

asp.net - 更改 ASP.NET MVC 或 IIS 中的 URL 根路径

c# - ns0 是反序列化 XML 时未声明的前缀

web-services - Web 服务调用上的 Scala Play2 错误

php - 你把你的 "redirect"方法放在哪里?

asp.net-mvc - 如何将现有的 asp.net mvc 3 Web 应用程序转换为 azure