【问题标题】:ASP .NET MVC web service and PostRepositoryASP .NET MVC Web 服务和 PostRepository
【发布时间】:2016-02-19 10:22:47
【问题描述】:

我是 ASP .NET MVC 技术的新手。 其实我的问题是:

在 ASP .NET MVC Web 应用程序 (like this) 中使用的 PostRepository 是否作为 WebService 工作?或者基本上,当我在控制器中有 ActionResult 方法时,即基于 PostId 从数据库中删除一些帖子作为此方法的参数(例如 /post/delete/5)是这个 Web 服务吗?或者它只是 MVC 用于执行 CRUD 操作的一种机制,所以它不是 Web 服务?

确实,ActionResults 控制器返回视图的方法不是 Web 服务?

【问题讨论】:

    标签: c# asp.net asp.net-mvc web-services asp.net-mvc-4


    【解决方案1】:

    存储库模式可帮助您保持清晰的代码结构。它解释了如何以及在何处保留数据库访问功能。

    这样您就不会在控制器中过度拥挤您的代码。另外,您可以回收代码,从两个不同的地方调用相同的函数。

    要创建 REST Web 服务,您应该使用 Web API。 Web 服务的结果不是视图;它通常是一个对象。

    返回一个视图意味着你想显示一个页面而不是一个服务。

    【讨论】:

    • 那么区域呢?当我想将代码分解为某些不会单独运行但使用主应用程序的逻辑部分(模块)时 - 我可以关闭此模块或打开代码,然后将代码单独分组以实现区域中的一项功能。这个区域没有网络服务,对吗? @alex-suleap
    • 区域只是控制器的逻辑分组,因此您可以保持良好的文件夹结构。就这些。它们不会影响您的最终路线。
    • 例如:您的应用程序需要一个管理员和一个用户。您可以将管理控制器放在一个区域中,将用户控制器放在第二个区域中。你得到了更清晰的代码结构。
    • 我有几个区域 - 例如文档发布区域 - 有自己的模型。控制器和视图。路由是:localhost/publishedDocument。然后我的主 MVC 不在发布 Url > localhost/post/postId 的区域。它是否正确?感谢您的回答!
    • 区域通常用于构建非常大的应用程序。关于 url 路径,我建议您阅读一些有关路由的信息。如果你想在浏览器中查看 localhost/publishedDocument,你只需要创建 PublishedDocumentController 类并添加一个索引视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    相关资源
    最近更新 更多