国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ASP.NET Core 的 HttpContex

這篇具有很好參考價值的文章主要介紹了ASP.NET Core 的 HttpContex。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

HttpContext

HttpContext 類封裝了HTTP Request 和 HTTP Response。
當(dāng)收到一條HTTP Request 請求時,就會實例化一個HttpContext對象。HttpContext對象可以被中間件訪問。
注意:HttpContext 不是線程安全的。

讀取 HttpContext 的值

從Razer Page 讀取

public class IndexModel : PageModel
{
    public void OnGet()
    {
        var message = HttpContext.Request.PathBase;
    }
}

從Razer Page 的cshtml 讀取

@page
@model IndexModel
@{
    var message = HttpContext.Request.PathBase;
}

從 Controller 讀取

public class HomeController : Controller
{
    public IActionResult About()
    {
        var pathBase = HttpContext.Request.PathBase;
        return View();
    }
}

從 Minimal API 讀取

app.MapGet("/", (HttpContext context) => context.Response.WriteAsync("Hello World"));

修改 HttpContext.Request

HttpContext.Request 可以獲取客戶端發(fā)來的 HttpRequest 請求,并且可以修改其中的值,包括:

  • HttpRequest.Path
  • HttpRequest.Method
  • HttpRequest.Headers
  • HttpRequest.RouteValues
  • HttpRequest.Query
  • HttpRequest.ReadFormAsync()
  • HttpRequest.Body

例如下面的代碼:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", (HttpRequest request) =>
{
    var userAgent = request.Headers.UserAgent;
    var customHeader = request.Headers["x-custom-header"];
    return Results.Ok(new { userAgent = userAgent, customHeader = customHeader });
});

app.Run();

修改 HttpContext.Response

除了能修改接收到的 HttpRequest,返回給客戶端的 Response也可以修改。包括:

  • HttpResponse.StatusCode
  • HttpResponse.ContentType
  • HttpResponse.Headers
  • HttpResponse.Body

例子代碼如下:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", (HttpResponse response) =>
{
    response.Headers.CacheControl = "no-cache";
    response.Headers["x-custom-header"] = "Custom value";
    return Results.File(File.OpenRead("helloworld.txt"));
});

app.Run();

設(shè)置 Response 尾巴

HTTP/2 和 HTTP/3 支持 Response 尾巴,可以在返回 Response 后設(shè)置Response 尾巴。
例子代碼如下:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", (HttpResponse response) =>
{
    // Write body
    response.WriteAsync("Hello world");
    if (response.SupportsTrailers())
    {
        response.AppendTrailer("trailername", "TrailerValue");
    }
});
app.Run();

終止 HttpRequest

HttpContext.RequestAborted cancellation token 可以用于通知HttpRequest 已經(jīng)被終止。
在請求時:文章來源地址http://www.zghlxwxcb.cn/news/detail-680887.html

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

var httpClient = new HttpClient();
app.MapPost("/books/{bookId}", async (int bookId, HttpContext context) =>
{
    var stream = await httpClient.GetStreamAsync(
        $"http://consoto/books/{bookId}.json", context.RequestAborted);
    return Results.Stream(stream, "application/json");
});
app.Run();

到了這里,關(guān)于ASP.NET Core 的 HttpContex的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【ASP.NET Core 基礎(chǔ)知識】--最佳實踐和進(jìn)階主題--設(shè)計模式在ASP.NET Core中的應(yīng)用

    一、設(shè)計模式概述 1.1 什么是設(shè)計模式 設(shè)計模式是在軟件設(shè)計過程中反復(fù)出現(xiàn)的、經(jīng)過驗證的、可重用的解決問題的方法。它們是針對特定問題的通用解決方案,提供了一種在軟件開發(fā)中可靠的指導(dǎo)和標(biāo)準(zhǔn)化方法。設(shè)計模式通常描述了一種在特定情景下的解決方案,包括了問

    2024年02月21日
    瀏覽(850)
  • ASP.NET Core —配置系統(tǒng)

    ASP.NET Core —配置系統(tǒng)

    一個應(yīng)用要運行起來,往往需要讀取很多的預(yù)設(shè)好的配置信息,根據(jù)約定好的信息或方式執(zhí)行一定的行為。 配置的本質(zhì)就是軟件運行的參數(shù),在一個軟件實現(xiàn)中需要的參數(shù)非常多,如果我們以 Hard Code (硬編碼)的方式寫在應(yīng)用代碼中,這樣配置就會很亂,而且后續(xù)也不容易修

    2024年02月08日
    瀏覽(19)
  • ASP.NET Core 8 基礎(chǔ)

    ASP.NET Core 8 基礎(chǔ)

    2023年11月將發(fā)布發(fā)布.NET 8,基于.NET 8 的 ASP.NET Core 8.0也會一并發(fā)布,這是繼ASP.NET Core 6.0之后,又一個重要版本,因為引入了nativeAOT,在性能上有很大提升,所以系統(tǒng)地學(xué)習(xí)一下這項技術(shù)。 ASP.NET Core 的幾個主要優(yōu)勢: 跨平臺,支持 Windows, macOS, Linux,Docker,Azure和AWS等云服務(wù)自

    2024年02月11日
    瀏覽(50)
  • Asp.Net Core 6 - 概述

    Q: 什么是 .NET? A:.NET 是一個開發(fā)人員平臺,由工具、編程語言、庫組成,用于構(gòu)建許多不同類型的應(yīng)用程序。使用 .NET,可以使用多種語言、編輯器和庫來構(gòu)建 Web、移動、桌面、游戲和 IoT 等,可以使用 C#、F# 或 Visual Basic 編寫 .NET 應(yīng)用。 .NET 發(fā)展至今,出現(xiàn)了兩種實現(xiàn) n

    2024年02月06日
    瀏覽(23)
  • 【C#/.NET】使用ASP.NET Core對象池

    Microsoft.Extensions.ObjectPool ? 減少初始化/資源分配,提高性能。這一條與線程池同理,有些對象的初始化或資源分配耗時長,復(fù)用這些對象減少初始化和資源分配。比如:我有一個執(zhí)行耗時約500毫秒,內(nèi)存空間 2KB的任務(wù)為此創(chuàng)建一個新線程異步執(zhí)行,而創(chuàng)建線程耗時1秒,內(nèi)存空

    2024年02月06日
    瀏覽(16)
  • ASP.NET Core 配置系列一

    ASP.NET Core 配置系列一

    A S P . N E T ? C o r e ? 配 置 主 要 通 過 這 3 個 文 件 設(shè) 置 : 1 ? 項 目 文 件 也 叫 . c s p r o j ? 文 件 2 ? P r o g r a m . c s 3 ? a p p s e t t i n g s . j s o n 這 些 配 置 告 訴 A S P . N E T ? C o r e ? 應(yīng) 用 程 序 基 于 用 戶 的 交 互 是 如 何 工 作 的, 在 本 節(jié) 中 我 們 理 解 A S P .

    2024年02月03日
    瀏覽(99)
  • Asp.net Core系列學(xué)習(xí)(1)

    ASP.NET Core 是一個跨平臺的高性能開源 框架 ,用于生成啟用云且連接 Internet 的新式應(yīng)用。 使用 ASP.NET Core,可以: 生成 Web 應(yīng)用和服務(wù)、物聯(lián)網(wǎng) (IoT) 應(yīng)用和移動后端。 在 Windows、macOS 和 Linux 上使用喜愛的開發(fā)工具。 部署到云或本地。 在 .NET Core 上運行。 ASP.NET Core 是對 ASP

    2024年02月06日
    瀏覽(93)
  • ASP.NET Core SignalR 入門

    ASP.NET Core SignalR 入門

    本章將和大家分享使用 SignalR 生成實時應(yīng)用的基礎(chǔ)知識。通過本文您將學(xué)習(xí)如何:使用ASP.NET Core SignalR + MVC + Vue 2.x + require 最終創(chuàng)建一個正常運行的簡易聊天應(yīng)用。 廢話不多說,我們直接來看一個Demo,Demo的目錄結(jié)構(gòu)如下所示: 本Demo的Web項目為ASP.NET Core Web 應(yīng)用程序( 目標(biāo)框

    2024年02月11日
    瀏覽(25)
  • ASP.NET Core MVC -- 入門

    ASP.NET Core MVC -- 入門

    ?帶有 ASP.NET 和 Web 開發(fā)工作負(fù)載的Visual Studio Visual Studio Code Visual Studio Code 用于 Visual Studio Code 的 C#(最新版本) .NET 7.0 SDK ?ctrl + F5 (開始執(zhí)行,不調(diào)試) 在代碼工作區(qū)間文件夾路徑下打開終端運行下面的命令 ?通過運行以下命令來信任 HTTPS 開發(fā)證書: 編譯運行

    2024年02月11日
    瀏覽(46)
  • ASP.NET Core 的日志系統(tǒng)

    ASP.NET Core 提供了豐富日志系統(tǒng)。 可以通過多種途徑輸出日志,以滿足不同的場景,內(nèi)置的幾個日志系統(tǒng)包括: Console,輸出到控制臺,用于調(diào)試,在產(chǎn)品環(huán)境可能會影響性能。 Debug,輸出到 System.Diagnostics.Debug.WriteLine EventSource,輸出到對應(yīng)操作系統(tǒng)的日志系統(tǒng)中,在Windows上是

    2024年02月10日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包