WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
随笔 - 1079, 文章 - 1, 评论 - 75, 阅读 - 174万
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

asp.net core WebApi 返回 HttpResponseMessage

Posted on   WebEnh  阅读(1273)  评论(0编辑  收藏  举报

ASP.NET WebApi 2 中的示例代码:

[Route("values/{id}")]
public async Task<HttpResponseMessage> Get(string id)
{
    var response = Request.CreateResponse(HttpStatusCode.OK);
    var accept = Request.Headers.Accept;
    var result = await _valuesService.Get(id);

    if (accept.Any(x => x.MediaType == "text/html"))
    {
        response.Content = new StringContent(result, Encoding.UTF8, "text/html");
    }
    else
    {
        response.Content = new StringContent(result, Encoding.UTF8, "text/plain");
    }
    return response;
}

ASP.NET Core WebApi 中的示例代码:

[Route("values/{id}")]
public async Task Get(string id)
{
    var accept = Request.GetTypedHeaders().Accept;
    var result = await _valuesService.Get(id);
    var data = Encoding.UTF8.GetBytes(result);
    if (accept.Any(x => x.MediaType == "text/html"))
    {
        Response.ContentType = "text/html";
    }
    else
    {
        Response.ContentType = "text/plain";
    }
    await Response.Body.WriteAsync(data, 0, data.Length);
}

可以看到,改变还是很大的,主要是两方面:

没有了 Request.CreateResponse,获取 Accept 需要通过 Request.GetTypedHeaders()
没有返回值,而是直接通过数据流的方式写入到 Response.Body 中。

 

 

0
0
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2018-08-30 【SignalR学习系列】2. 第一个SignalR程序
2018-08-30 【SignalR学习系列】1. SignalR理论介绍
2018-08-30 【SignalR学习系列】3. SignalR实时高刷新率程序
2018-08-30 【SignalR学习系列】4. SignalR广播程序
2018-08-30 【SignalR学习系列】5. SignalR WPF程序
2018-08-30 【SignalR学习系列】8. SignalR Hubs Api 详解(.Net C# 客户端)
2018-08-30 【SignalR学习系列】7. SignalR Hubs Api 详解(JavaScript 客户端)
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

了解更多