You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core Web API使用HttpGet等特性应引入哪个命名空间?

ASP.NET Core Web API HTTP动词特性命名空间选择方案

你应该选择 Microsoft.AspNetCore.Mvc 命名空间,各命名空间的适用场景和选择原因如下:

  • Microsoft.AspNetCore.Mvc:这是ASP.NET Core框架专属的MVC、Web API统一服务命名空间,你当前使用的ASP.NET Core Web API所有内置HTTP动作特性([HttpGet]、[HttpPost]、[HttpDelete]等)、路由规则、过滤器组件都在该命名空间下定义,和项目框架完全匹配,特性可以被运行时正确识别,不存在兼容性问题。
  • System.Web.Mvc:属于.NET Framework时代的旧ASP.NET MVC 5及更早版本的专属命名空间,仅支持运行在.NET Framework上的老MVC项目,和ASP.NET Core框架完全不兼容,引入后会导致HTTP动作特性无法被识别,功能失效。
  • System.Web.Http:属于.NET Framework时代的旧ASP.NET Web API 2及更早版本的专属命名空间,仅适用于.NET Framework下的老Web API项目,和ASP.NET Core框架不兼容,引用后会出现特性不生效、运行时报错等问题。

注意:如果你的ASP.NET Core项目中能弹出前两个命名空间的IntelliSense提示,说明项目中可能错误引入了.NET Framework版本的MVC或Web API依赖包,建议及时排查移除,避免后续出现依赖冲突。

内容的提问来源于stack exchange,提问作者Levesque Xylia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 16:45:04