c# - ASP.NET MVC 与 Web API 或..... Nancyfx 相结合?
问题描述
我从未使用过传统的 ASP.NET MVC,而是从 Nancyfx 开始的。我正在考虑切换到 ASP.NET MVC + Web API,但有一些一般性问题。
我想我可能已经被 Nancyfx 宠坏了,但我有一些真正的问题和担忧,这就是为什么我不确定我的重写。主要问题是加载时间。我知道它会在首次加载时编译 Razor 视图,这会延长加载时间,但存在导致它无法工作的错误(已知问题)。我已经实现了一种解决方法,但我已经读到 ASP.NET MVC 可以预编译以避免这种情况(Nancyfx 不能)。
使用 ASP.NET MVC + Web API 进行一些研究,似乎 Web API 是用于 restful 端点,而 ASP.NET MVC 是用于服务页面。如您所知,Nancyfx 将这两种技术合二为一,非常棒。我对此是否正确,或者是否有办法让 ASP.NET MVC 为 Razor 页面提供服务,并根据请求类型为 JSON/XML 请求提供服务?
老实说,我不太关心使用 ASP.NET 核心,因为我的应用程序大量集成到 Active Directory、Microsoft Exchange 和其他不在其他平台上的其他 Windows 应用程序中。想要将它部署在 Linux 服务器上的人对于我正在做的事情来说是一种毫无意义的 IMO。
解决方案
简单地说,ASP.NET MVC 为您提供了两个控制器基类:Controller和ApiController。如果要创建基于视图的控制器操作,则从Controller类继承,如果要创建 API 操作,则从ApiController继承。另一方面,在 ASP.NET Core 中,您可以使用相同的控制器基础结构来交付视图以及 REST API。您始终可以结合使用 .NET Framework 和 ASP.NET Core。但是,.NET + ASP.NET Core 解决方案仅适用于您显然没有问题的 Windows。
推荐阅读
- visual-studio - 从 .NET Core 预览版迁移到最新版本的最佳方法是什么?
- django - 命令行中的Django测试错误:
匹配的查询不存在 - python - GCP 云功能 - 在路径上找不到 kubectl
- vb.net - 在下面的 VB.NET 代码 (i And 1) =1 中,如何像模运算符 '%' 一样使用 'And' 运算符来确定 i 是偶数还是奇数?
- python - 我尝试从文本文件中导入数据集,但出现 Nameerror
- python - GradientTape 在尝试计算梯度时返回一个空对象
- visual-studio-code - 如何创建 VSCode 绑定以有效地输入 bra 和 ket
- javascript - 为什么构造函数没有设置
- c# - 将 Swift 中的协议/委托映射到 c#
- javascript - 如何制作半圆形进度条?