ASP.NETCore中使用内容类型后缀生成ETag
创始人
2024-09-18 16:00:54
0

在ASP.NET Core应用程序中使用ETag时,通常会将ETag的值设置为特定资源的哈希值。然而,这可能会导致ETag值在内容类型发生更改时发生变化。

可以通过在ETag值中包含内容类型后缀来解决此问题。这样,ETag将仅在资源的内容或内容类型发生更改时发生更改。

以下代码示例显示如何使用内容类型后缀生成ETag:

[HttpGet]
[Route("api/values")]
public IActionResult Get()
{
    var content = "Hello, world!";
    var contentType = "text/plain";

    // Generate ETag based on the content and content type suffix
    var etag = GenerateETag(content, contentType);

    // Add ETag to response headers
    HttpContext.Response.Headers.Add("ETag", etag);

    // Check if request ETag matches the generated ETag
    if (HttpContext.Request.Headers.ContainsKey("If-None-Match") &&
        HttpContext.Request.Headers["If-None-Match"].Equals(etag))
    {
        // ETag matches, return Not Modified response
        return NotModified();
    }

    // ETag doesn't match, return content
    return Ok(content);
}

private string GenerateETag(string content, string contentType)
{
    using (var md5 = MD5.Create())
    {
        var combined = Encoding.UTF8.GetBytes(contentType + content);
        var hash = md5.ComputeHash(combined);
        var hex = BitConverter.ToString(hash);
        return hex.Replace("-", "");
    }
}

private IActionResult NotModified()
{
    var result = new StatusCodeResult(304);
    result.ContentTypes.Add("text/plain");
    return result;
}

相关内容

热门资讯

玩家必备攻略!德州透视hhpo... 玩家必备攻略!德州透视hhpoker,wpk俱乐部是做什么的,真是是真的有挂(有挂秘诀)所有人都在同...
9分钟了解!拱趴大菠萝有什么挂... 9分钟了解!拱趴大菠萝有什么挂,hhpoker免费辅助器,本来真的有挂(竟然有挂)9分钟了解!拱趴大...
每日必备!德州局透视,如何判断... 每日必备!德州局透视,如何判断wpk辅助软件的真假,真是存在有挂(有挂存在)1、下载好脚本下载之后点...
推荐十款!hhpoker智能辅... 推荐十款!hhpoker智能辅助插件,hhpoker免费透视脚本,好像是有挂(发现有挂)1、游戏颠覆...
普及知识!哈糖大菠萝有挂吗,a... 普及知识!哈糖大菠萝有挂吗,aa poker透视软件,好像真的有挂(有挂实锤)1、金币登录送、破产送...
我来教教你!wpk辅助插件,佛... 我来教教你!wpk辅助插件,佛手在线大菠萝辅助,本来存在有挂(有挂透视)运佛手在线大菠萝辅助辅助工具...
分辨真假!pokernow辅助... 分辨真假!pokernow辅助控制,wepoker好友助力码,一贯有挂(有挂分析)小薇(辅助器软件下...
最新技巧!fishpoker透... 最新技巧!fishpoker透视底牌,wpk透视辅助靠谱吗,总是是真的有挂(有挂秘笈)1、最新技巧!...
三分钟了解!wpk有作弊吗,有... 三分钟了解!wpk有作弊吗,有哪些免费的wpk作弊码,总是真的是有挂(有挂细节)在进入软件靠谱后,参...
带你了解!wpk私人局辅助是真... 带你了解!wpk私人局辅助是真的吗,sohoo辅助,总是真的是有挂(证实有挂)1、玩家可以在线上大神...