MVC(ASP.NET MVC)带3层架构如何协同工作?

2023-12-10

我正在编写一个设计文档,我的团队中的人员愿意从 ASP.NET WebForm 迁移到 ASP.NET MVC。这很棒,但我很难理解 MVC 如何在 3 层(数据层、业务层和表示层)架构中工作。我们可以说模型、视图和控制器是表示层的一部分吗?模型是业务层的一部分吗?

简而言之,MVC 和 3 层架构如何协同工作?谢谢您的帮助!


我认为 ASP.Net MVC 位于表示层。它使用的“模型”类实际上是视图模型,它描述了视图所需的数据结构。您的所有业务逻辑和数据访问都应与 MVC 模型和控制器保持分离。

此外,MVC 的一般“最佳实践”是使控制器代码尽可能简单,这通常意味着将一些应用程序服务引入到处理繁重工作的业务层中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC(ASP.NET MVC)带3层架构如何协同工作? 的相关文章

  • SimpleMemership CreateUserAndAccount 自定义

    我正在尝试添加一个新属性UserProfile我的模型中的类 public class UserProfile Key DatabaseGeneratedAttribute DatabaseGeneratedOption Identity
  • MVC 3 布局页面、Razor 模板和 DropdownList

    我想在我的网站的所有页面上包含年份的下拉列表 我认为放置此逻辑的好地方是布局页面 layout cshtml 如果用户更改年份 我想更改我的年份会话 ModelBinder 也进行更改 这对于 ASP NET Web 表单来说很容易做到 但
  • ASP.NET Core 中间件与过滤器

    在阅读了 ASP NET Core 中间件之后 我对何时应该使用过滤器以及何时应该使用中间件感到困惑 因为它们似乎实现了相同的目标 什么时候应该使用中间件而不是过滤器 9频道有一个关于此的视频 ASP NET 怪物 91 中间件与过滤器 h
  • 当Model和ViewModel一模一样的时候怎么办?

    我想知道什么是最佳实践 我被告知要始终创建 ViewModel 并且永远不要使用核心模型类将数据传递到视图 这就说得通了 让我把事情分开 但什么是Model 和ViewModel一模一样 我应该重新创建另一个类还是只是使用它 我觉得我应该重
  • 具有 OpenId Connect 的 WSO2 身份服务器

    我正在尝试将 WSO2 Identity Server 5 1 0 与 Asp Net MVC 结合使用 作为概念证明 我在 Visual Studio 2015 中创建了一个示例 asp net MVC 项目 按照 WSO2 指南 我已根
  • ReportViewer 正在阻止其他功能,直到报告查看器加载完成

    这是 ReportViewer 控件
  • ASP.NET MVC 4 Web Api 和 REST 经典服务之间的区别

    我看到了ASP Net MVC4 WebApi将服务公开为 Rest 服务 但实际上和正常有什么区别Rest and ASP Net MVC4 WebApi 我不确定你的意思normal Rest REST http en wikipedi
  • 您对“大规模 C++ 软件设计”的看法 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 正在阅读亚马逊评论 https rads stackoverflow com amzn click com 0201633620 and ACC
  • 甜甜圈孔缓存 - 排除 MiniProfiler.RenderInincludes

    我有一个 ASP NET MVC 操作 它装饰有OutputCache属性 但问题是 MiniProfiler 输出也被缓存 我想从缓存中排除 MiniProfiler 输出 甜甜圈洞 但我不确定如何排除像 MiniProfiler Ren
  • Web 应用程序架构 - 需要作业/任务队列吗?

    我目前正在设计一个 Web 应用程序 该应用程序将允许用户安排将针对 HTTP API 代表他们 执行的任务 这些任务可以重复出现 并且可用于调度的最小时间分辨率为一分钟 由于任务的性质 我认为异步执行它们是有意义的 但是 这部分的架构应该
  • 在调用控制器的方法之前执行代码?

    是否可以制作一个动作过滤器或运行的东西before动作方法本身在控制器上运行 我需要它在操作运行之前分析请求中的一些值 您可以重写控制器类中的 OnActionExecuting 方法 protected override void OnA
  • 从操作写入输出流

    由于一些奇怪的原因 我想将 HTML 从控制器操作直接写入响应流 我理解MVC分离 但这是一个特例 可以直接写入吗HttpResponse溪流 在这种情况下 哪个IView控制器操作应该返回对象吗 我可以返回 空 吗 我使用了一个派生类Fi
  • 通过向导方法使用内置 ASP.NET MVC 验证

    我正在使用JQuery Steps 插件基本表单示例 http www jquery steps com Examples basic form为了我的巫师 在此示例中 您会注意到他们使用的是 JQuery Validate 插件 该插件与
  • 有没有办法将所有内容都包含在 dbcontext 中?

    当查询一个DbContext急切加载时 需要Include Navigation 为了填充导航属性 然而 在某些情况下 我想简单地Include all实体的导航属性 有没有办法做到这一点 或者有办法做到这一点 我假设你可以反思 但我宁愿避
  • 如何将敏感数据从视图传递到控制器

    为了构造一个包含大量信息的实体 我需要执行一系列表单提交 每次我从控制器返回视图时 我都需要传递一些有关尚未建立的实体的 id 现在 我将这些信息注入隐藏字段 并在发回服务器时继续构建实体 这样的场景持续了好几次 我对这种传递敏感信息的方式
  • MVC3 RESTful API 路由和 Http 动词处理

    我想为我的 MVC3 应用程序构建 RESTful Json Api 我需要帮助处理多个 Http Verbs 以操作单个对象实例 我读过 研究过 尝试过的内容 MVC 属性 HttpGet HttpPost等 允许我拥有一个具有多个共享相
  • 部分 ASP.NET MVC 视图提交

    我是 ASP NET MVC 的新手 所以这个问题可能显得 愚蠢 抱歉 我的主视图中有一个部分视图 部分视图提交一个表单 调用 HomeController 内的操作方法 它与服务器验证配合得很好 问题是在发布后仅呈现部分视图 发布后如何呈
  • 在 MVC 应用程序中配置 NHibernate 二级缓存

    我有一个使用 NHibernate 的 MVC3 应用程序 一切都很顺利 直到我开始尝试添加二级缓存 浏览网页几个小时后 我终于找到了我认为正确的 dll NHibernate Caches SysCache2 dll 并将其添加到我的项目
  • 如何使用 IHttpActionResult 设置标头

    我想将令牌添加到 webapi 请求的标头中 我怎样才能做到这一点 这是我的示例代码 public IHttpActionResult Authenticate Login data var Token fdsf123546fskjhf g
  • Asp.net Mvc OutputCache属性和滑动过期

    Calling http foo home cachetest for UrlRoute Path home cachetest OutputCache Duration 10 VaryByParam none public ActionR

随机推荐

  • 如何编写正则表达式来仅匹配数字、字母和破折号?

    我需要一个只接受以下内容的表达式 数字 普通字母 无特殊字符 空格也是不允许的 例子 正则表达式应该匹配 this is quite alright 不应该匹配 this is not so lright 您可以使用 A Za z0 9 这
  • Excel - 将一个范围内的数据匹配到另一个范围内,并从匹配数据右侧的单元格中获取值

    我不太擅长 Excel 公式 我正在尝试弄清楚如何首先检查列中是否存在单元格值 如果存在 则获取下一个单元格的值 具体来说 我有一系列细胞 从 B31 到 B39 我想要做的是查看这些值是否出现在单元格 F3 到 F12 中 如果出现 则将
  • WebGL等角投影

    好吧 这里要疯了 我正在做一些 WebGL 我正在尝试制作一个等距立方体 我不想使用 Three js 我想首先了解我的代码出了什么问题 我一直在研究 我能找到的唯一教程似乎是针对 OpenGL 的 无论如何 这是我的drawScene函数
  • 查询缓存不起作用

    我已经打开query cache 并为其分配内存 query cache limit 1048576 query cache min res unit 4096 query cache size 16777216 query cache t
  • 如何将多个 actionCreators 包装到一个 props 中?

    我收到以下错误 Uncaught TypeError this props dispatch is not a function 这是我的组件 import React from react import PropTypes from pr
  • 如何更改站点的 IIS Express 端口

    我想在从 Visual Studio 进行调试时更改网站运行的端口号 我正在使用 Visual Studio 2012 并且我正在为我的项目使用 ASP NET MVC 4 我想更改端口 随机端口或固定端口任何人都可以工作 只需更改端口即可
  • Django 使用 AJAX 动态 HTML 表刷新

    首先 我是 Django 新手 并且对 AJAX 和 jQuery 几乎完全不熟悉 我在本地开发 所以我试图实现一个 HTML 表 在 AJAX 的帮助下每 X 秒动态刷新一次 没有页面刷新 但我似乎无法让我的代码工作 我已经使用过这个问题
  • git:查找哪个合并将提交到当前分支

    我有许多分支 它们会定期合并 即我们可以将 A 合并到 B 中 然后将 B 合并到 C 中 然后将 A 合并到 D 中 然后将 D 合并到 C 中 等等 假设我有一个提交 X 我知道它最初是在A中引入的 然后以某种方式合并到C中 我在执行g
  • jQuery,按属性值选择,添加新属性

    我的 HTML 中有一个锚点 它有一个带有值的页面属性 因此 每次单击它时 我都会在 js 中使用页面属性值 现在我想设置一个带有背景颜色的样式属性来显示某个元素被选中 因此 我必须按页面属性选择元素 并向 a 元素添加一个带有值的新属性
  • 在 @FetchRequest 中输入一个动态值,以从 SwiftUI 中的核心数据中获取单个实体

    我在这里看到了相同类型的错误 但使用了不同类型的代码 所以我认为最好就此上下文提出一个新问题 我试图通过尝试传递一个字符串变量 用作查找该实体的键 来从核心数据中 查找特定实体 title into FetchRequest 这是我使用过的
  • BulkInsertCommand 在 Sync Framework 2.1 中失败

    有时 当我尝试使用 Sync Framework 2 1 从 SQL Express 同步到 SQL Server 时 会收到以下错误 一旦客户端收到此错误 他们必须重新初始化作用域 语法不会有任何问题 比如错误状态 因为它在很长一段时间内
  • 发布同名nuget包时在.net vNext中引用本地项目

    我正在尝试在 VS 2015 中使用新的 vNext 项目类型构建一个包 我想在同一解决方案 不是 vNext 中引用一个项目 但它试图为该项目找到一个 nuget 包 而不是直接引用它 我究竟做错了什么 version 1 0 0 dep
  • 在 Dreamweaver CS 5.5 中设置 codeigniter

    我正在寻找有关如何在 Dreamweaver CS 5 5 中设置代码点火器项目的信息 并像 Zend 框架一样使用代码提示 我成功地在 Dreamweaver CS5 5 中设置了 code igniter 方法是下载最新版本的 code
  • 使用 Python 3.6 抓取 Duckduckgo

    一个简单的问题 我可以从 duckduckgo 搜索的第一页抓取结果 然而 我正在努力进入第二页和后续页面 我已将 Python 与 Selenium Webdriver 结合使用 这对于首页结果来说效果很好 我用来抓取第一页的代码是 re
  • iPhone6(无显示缩放模式)UIMenuController 被截断

    我有一个问题UIMenuController在我的 iPhone 6 上 当我使用标准显示模式并且设备处于横向模式时 在 iPhone 6 Plus 上 两种模式都会出现问题 也许这取决于屏幕分辨率 在这种情况下 UIMenuControl
  • Keras 后端 - ImportError:无法导入名称 ctc_ops

    我已经安装了 keras 但是当我编写 import keras 时 出现错误 导入错误 无法导入名称 ctc ops 我想将后端从张量流更改为 theano 但找不到此处提到的 keras json https keras io back
  • 通过在彼此之间嵌套子查询来解决 MySQL 中 61 个表 JOIN 的限制

    我发现你可以通过使用子查询来绕过 MySQL 中 61 个表连接的限制 https stackoverflow com a 20134402 2843690 我正在想办法easily在我正在开发的程序中使用它来从 Magento 获取详细的
  • 将调试信息嵌入到构建中不包含任何调试符号

    在我的项目中 在 构建 高级 部分中 我设置了 调试信息 嵌入 另外 我还设置了一个选项将我的项目打包为 nupkg 文件 由于项目已构建 因此创建了一个 nupkg 文件 但是当我在调试另一个项目时使用此 nupkg 文件时 不包含任何符
  • 序列与同一性

    SQL Server 2012 推出Sequence作为一项新功能 与 Oracle 和 Postgres 中的相同 在哪些情况下序列优先于身份 为什么我们需要序列 我想你会找到你的答案here 使用列的标识属性 您可以轻松生成 自动递增数
  • MVC(ASP.NET MVC)带3层架构如何协同工作?

    我正在编写一个设计文档 我的团队中的人员愿意从 ASP NET WebForm 迁移到 ASP NET MVC 这很棒 但我很难理解 MVC 如何在 3 层 数据层 业务层和表示层 架构中工作 我们可以说模型 视图和控制器是表示层的一部分吗