gpt4 book ai didi

asp.net-mvc - 如何从 ASP.NET MVC 应用程序返回 404 响应?

转载 作者:行者123 更新时间:2023-12-02 20:19:24 25 4
gpt4 key购买 nike

我有一个 Controller ,它从数据库中提取图像,重新调整图像大小,将结果缓存在磁盘上,并将图像作为 Content() 结果吐出。

最近我在我的网站上添加了对“Scrape-buster”代码的支持。也就是说,我采用附加到每个图像的唯一代码的哈希值加上一些盐,并将该哈希值的前几个字符传递给用户,以便在检索期间进行确认。这使我能够防止人们从网站上删除所有图像。 (也就是说,无需登录,也无需抓取 HTML。)

无论如何,如果 ScrapeBuster 代码不正确,我想从我的 Controller 返回 404 错误。是否有内置方法可以执行此操作,或者我正在考虑构建自定义 ActionResult

最佳答案

最简单(可能不是最干净)的方法是抛出 HttpException :

public static void Throw404()
{
throw new HttpException(404, "The resource cannot be found");
}

您应该确保调用堆栈中没有人捕获异常。这样,输出将看起来像正常的 ASP.NET 蓝屏死机 404。

更简洁的方法是返回自定义结果:

public sealed class HttpNotFoundResult : ActionResult
{
public override void ExecuteResult(ControllerContext context)
{
if (context == null)
throw new ArgumentNullException("context");

context.HttpContext.Response.StatusCode = 404;
}
}

关于asp.net-mvc - 如何从 ASP.NET MVC 应用程序返回 404 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1961522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com