在 ASP.NET 中使用 Web API 相对于 Web 方法有什么优势

2024-02-02

我熟悉网络方法。现在我收到了使用 Web API 而不是 Web 方法的建议。我做了一个 ASP.NET Web API 的演示,它更接近于MVC架构我正在使用经典的 ASP.NET Web 开发。我不喜欢搞乱控制器(MVC概念)采用经典开发。

我的网络方法:

[WebMethod]
public static string GetName(int id)
{
    return "testName";
}

我的 Web API 控制器:

public class MyController : ApiController
{
[HttpGet]
public string GetName(int id)
{
    return "testName";
}
}

我对这个问题真的很困惑,任何人对此都有更好的想法。

您对哪个更好的选择有什么建议?

如果两者具有相同的代码,我如何比较?


经典的 ASP.NET WebServices(您所说的网络方法)是一项已弃用的技术。不再有任何积极的发展。 ASP.NET Web API 完全重写了 Microsoft 的 Web 堆栈,您可以在其中更好地控制创建 RESTful Web 服务。这并不意味着您应该选择其中之一。还有ServiceStack http://www.servicestack.net/。如果您正在开始一个新项目,您应该远离经典的 Web 服务。如果它们仍然存在于 .NET 框架中,那是出于与遗留代码的兼容性原因。

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

在 ASP.NET 中使用 Web API 相对于 Web 方法有什么优势 的相关文章

  • 将参数从 Web 表单传递到 Crystal 报表

    我有一份报告 我想将其显示在网络表单上 没有参数的报告运行良好 带参数的报告让我很头疼 这是我在 BindReport 方法中编写的代码 该代码在表单的页面加载事件上调用 ReportDocument rpt new ReportDocum
  • lambda 表达式是多线程的吗?

    lambda 表达式是多线程的吗 假设当你将数学公式编写为 lambda 方法时 当你将其传递给另一个方法时 它会是多线程的吗 不是100 清楚你问的是什么 您是否想问 lambda 是否自然地在不同的线程上运行 如果是这样 则它们只是 S
  • 如果未返回,则在一段时间后终止线程

    我有一个线程从网络或串行端口获取一些数据 如果 5 秒内没有收到数据 则线程必须终止 或返回 false 换句话说 如果线程运行时间超过 5 秒 则必须停止 我用 C 编写 但任何 NET 语言都可以 有两种方法 1 封装超时 从网络或串行
  • 是否可以使用.NET 跟踪文件操作?

    当以某种方式调用文件操作 例如打开或关闭 时 我是否可以在操作系统继续请求之前处理它 如果可能的话可以通过以下方式取消它 NET http en wikipedia org wiki NET Framework 如果 NET没有这样的能力
  • IIS Express 停止 Web 应用程序后立即关闭正在运行的站点

    我在使用 Visual Studio 2012 的第一天 当我想停止 IDE 中的应用程序时 应用程序仍在 IIS Express 上运行 我可以浏览和使用正在运行的应用程序 但现在不能了 如果我按下停止按钮 IIS 会立即关闭应用程序 因
  • 如何以编程方式将 SMTP 服务器详细信息存储(保存)回 web.config

    搜索 StackOverflow 我发现这个问题是关于如何从 Web Config 检索 SMTP 设置 https stackoverflow com questions 2019175 how to programmatically r
  • 学习实体框架[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 查询 dns 别名

    我找到了一些code http msdn microsoft com en us library system net dns gethostbyaddress VS 71 aspx来自 msdn 站点 下面包含代码 看起来它将返回给定服务
  • 使用 iTextSharp CSSResolver 类的命名空间

    我正在使用 iTextSharp CSSResolver 类在 vb net 中使用外部 css 请让我知道使用的命名空间XMLWorkerFontProvider CssFilesImpl StyleAttrCSSResolver类 下面
  • 如何将字符串解析为 UNIQUEIDENTIFIER?

    我正在编写一个实体框架 LINQ 查询 其中我想将字符串解析为 UNIQUEIDENTIFIER 又名 GUID 作为WHERE clause public IEnumerable
  • 从基础创建 Uri,不带尾部斜杠和相关部分

    我的 Uri 构造函数有问题 基本路径是否以斜杠结尾的结果会有所不同 var baseWithSlash new Uri c Temp var baseNoSlash new Uri c Temp var relative MyApp va
  • 标签中的路径显示

    NET 中有没有自动修剪路径字符串的方法 例如 C Documents and Settings nick My Documents Tests demo data demo data emx becomes C Documents dem
  • 是否有用户友好的 Log4Net 日志文件查看器? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 是否有任何第三方工具可以识别 Log4Net 日志文件结构并通过提供搜索功能等以用户友好的方式显示它 Try 色域日志查看器 https source
  • 对 URL 进行编码 C#

    所以我有一个看起来像这样的 URL http www test com folder1 id 3 但基本上 当他们单击按钮时 我想在 URL 栏中显示与该 id 关联的值的名称 例如 id 3 是名为 Rollex 的手表 所以我想要读取
  • ASP.NET Core 与现有的 IoC 容器和环境?

    我想运行ASP NET 核心网络堆栈以及MVC在已托管现有应用程序的 Windows 服务环境中 以便为其提供前端 该应用程序使用 Autofac 来处理 DI 问题 这很好 因为它已经有一个扩展Microsoft Extensions D
  • @RenderBody() 该怎么办?

    我有一个 ASP NET MVC 3 应用程序JQuery UI Tabs 我有一个主布局页面 layout cshtml 代码如下 大师 layout cshtml需要一个 RenderBody 代码 既然是必需的 那我该怎么办呢 我想我
  • SSL/TLS/HTTPS 站点在 C#/.NET WebBrowser 控件中非常慢,但在 Internet Explorer 中则很好

    背景 我正在修改自动维基浏览器 http en wikipedia org wiki Wikipedia AutoWikiBrowser使用托管在安全服务器上的 MediaWiki 站点 我允许用户通过 C 应用程序中的 WebBrowse
  • 使用 WF 的多线程应用程序的错误处理模式?

    我正在写一个又长又详细的问题 但只是放弃了它 转而选择一个更简单的问题 但我在这里找不到答案 应用程序简要说明 我有一个 WPF 应用程序 它生成多个线程 每个线程执行自己的 WF 处理线程和 WF 中的错误 允许用户从 GUI 端进行交互
  • 从 Delphi 调用 C# dll

    我用单一方法编写了 Net 3 5 dll 由Delphi exe调用 不幸的是它不起作用 步骤 1 使用以下代码创建 C 3 5 dll public class MyDllClass public static int MyDllMet
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构

随机推荐

  • XTend 的命令行编译器

    Hi all我找到了 XTend http xtend lang org 它听起来确实很棒 但是 我看不到这种语言的任何独立命令行编译器 好像只能在eclipse下运行 我做了一些研究 发现有人说它有一个命令行编译器 但我找不到下载链接 编
  • 绘制折线时某些设备上出现奇怪的 ArrayIndexOutOfBoundsException

    下面是我用来绘制路线的代码 每当用户暂停锻炼时 我想将此路径显示为粉红色折线 因此我制作了自己的界面 名为MapHelper并将一个布尔值作为isPause and lastPause 当用户保存他 她的锻炼时 我将所有路线点保存为数组 并
  • 是否有适用于 Windows 平台的轻量级、可编程 Sandbox API? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 为了在家运行不受信任的代码 我使用 VMWare 虚拟机 我想找到一个替代的轻量级沙箱 API 来运行
  • 在 Android 中从一项活动转移到另一项活动

    以下是我的代码 请告诉我我做错了什么 package version nitt import android app Activity import android os Bundle import android view View im
  • 如何最好地在 WiX 中定义自定义操作?

    我有一个WiX http en wikipedia org wiki WiX安装程序和一个自定义操作 加上撤消和回滚 它使用安装程序的属性 自定义操作必须在所有文件都位于硬盘上之后发生 为此 您似乎需要 WXS 文件中的 16 个条目 根内
  • 下拉当前索引 onchange

    有一个包含 5 个选项的下拉菜单 当前 选择了选项 2 用户现在选择了选项 4 onchange 事件被触发 该事件被 JS 函数捕获 监听选择上的 onchange 在 JS 函数中 我可以使用以下命令轻松检查用户选择的选项的索引选定索引
  • 使用注释移动 Google 图表列注释位置:线

    使用下面的示例 是否可以移动注释 以便在使用时它们全部出现在图表底部的相同 静态 位置style line 这使得注释垂直阅读 google charts load current callback function drawChart w
  • 我可以向现有 ATL COM 项目添加 MFC 支持吗

    我使用 ATL COM Object 创建了一个 Shell 扩展 但在创建过程中我没有添加MFC支持 我现在可以更改设置以添加 MFC 支持吗 是的 但我相信这样做不会自动添加所有必需的标头和 defines 当然 您可以先尝试此操作 然
  • 在 python 中使用时区获取当前时间?

    我正在使用 Google App Engine 和 python 而且我无法安装第三方库 我认为这应该可行 但它实际上运行没有错误 但它返回当前时区未应用 我做错了什么 from datetime import tzinfo timedel
  • 图例中的刻度尺寸符号

    我绘制了一个气泡图 http www r bloggers com wp content uploads 2010 12 bubbleChart png圆圈的大小对应于使用 matplotlib 的值列表 但是 我在为具有与列出的大小相对应
  • 从字符串中分割货币和金额

    我正在导入一个包含不同货币符号的金额的文件 12 10 26 13 12 50 我需要将其导入并转换为单一货币 我将字符串拆分如下 parts split preg replace 0 9 1 amount 1 无法使 preg split
  • Android中文件、类和活动之间的区别

    Android中的文件 类和活动有什么区别 文件 它是任意信息块或用于存储信息的资源 它可以是任何类型 类 它是 Java 文件的编译形式 Android最终使用这个 class文件生成可执行的apk 活动 活动相当于 GUI 工具包中的框
  • 禁用 Django 中特定应用程序的本地化

    有没有办法在 Django 设置中禁用特定应用程序的本地化 造成这种情况的可能原因有两个 关闭管理应用程序 例如 contrib admin 中的本地化 因为管理员更喜欢使用英语而不是本地语言 一些应用程序的默认翻译确实很糟糕且令人困惑 我
  • React 16:使用钩子和功能组件时从父级调用子级函数

    我需要在父组件中调用子组件的函数 我该怎么做呢 之前在 React 15 中 我可以使用 refs 来调用子函数 但不知道如何使用钩子和功能组件来做到这一点 function Child props function validate to
  • 如何将验证器与 QTableWidgetItem 一起使用?

    假设我有一个 QTableWidgetItem 项目 我只想验证用户输入的数据 例如 用户仅在该项目中输入数字 否则程序将显示警告对话框 我也搜索该文档页面 http harmattan dev nokia com docs library
  • 改进 AngularJS 指令代码

    我写了一个 AngularJS 指令 但我对它还很陌生 我不知道我是否以 Angular 方式 完成 这是我的代码 http plnkr co edit X1tOk4z8f6dCK3mfB7HP p preview http plnkr c
  • 没有事务的 JTA 数据源

    假设手动登记和取消资源 我有许多启用 XA 的资源 数据源 我计划对其执行事务更新 此外 一些支持 XA 的数据源可以单独更新 不需要任何其他资源 假设我已经使用登记的数据源提交了多个事务 那么我可以忽略 TransactionManage
  • JMS 客户端工具 - Java 8 的 HermesJMS 的替代品吗?

    HermesJMS 有哪些替代方案 我需要针对 JBoss WildFly 8 进行测试 它使用 Java 8 HermesJms 似乎是为 Java 6 构建的 但我找不到完整的 Java 8 端口 我尝试设置 hermes bat这个配
  • iPhone iOS 如何将 UILongPressGestureRecognizer 和 UITapGestureRecognizer 添加到同一个控件并防止冲突?

    我正在构建一个 iPhone 应用程序 它可以让用户重新排列屏幕上的一些 UI 元素 如何将点击手势识别器和长按手势识别器添加到同一个 UIView 中 当我长按抬起手指时 点击手势识别器就会启动 如何暂时禁用点击手势识别器或防止其在用户长
  • 在 ASP.NET 中使用 Web API 相对于 Web 方法有什么优势

    我熟悉网络方法 现在我收到了使用 Web API 而不是 Web 方法的建议 我做了一个 ASP NET Web API 的演示 它更接近于MVC架构我正在使用经典的 ASP NET Web 开发 我不喜欢搞乱控制器 MVC概念 采用经典开