asp.net - 如何在 Nancy 中显示我的 404 页面?

标签 asp.net .net nancy

我需要像这样在 Nancy 中显示我的 404 错误页面

if (ErrorCode == 404)
{
  return View["404.html"];
}

怎么做?

最佳答案

nemesv 的答案是正确的,但我只想添加一个使用 ViewRenderer 而不是 GenericFileResponse 的示例。

public class MyStatusHandler : IStatusCodeHandler
{
    private IViewRenderer viewRenderer;

    public MyStatusHandler(IViewRenderer viewRenderer)
    {
        this.viewRenderer = viewRenderer;
    }

    public bool HandlesStatusCode(HttpStatusCode statusCode,
                                  NancyContext context)
    {
        return statusCode == HttpStatusCode.NotFound;
    }

    public void Handle(HttpStatusCode statusCode, NancyContext context)
    {
        var response = viewRenderer.RenderView(context, "/status/404");
        response.StatusCode = statusCode;
        context.Response = response;
    }
}

关于asp.net - 如何在 Nancy 中显示我的 404 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16152483/

相关文章:

C#/ASP.NET Selenium WebDriver - 重复使用 Cookie

asp.net - Internet Explorer 9 中奇怪的 Ajax/Jquery 行为

javascript - 使用 jQuery 按名称属性获取选择值

c# - 带有叠加项目控件的图像

c# - 创建 LINQ to Entities 可以转换的属性

c# - 如何将参数传递给C#类?

asp.net - 如何从自托管 nancy 更改为 iis 下

unit-testing - 测试 HttpStatusCode 时,使用 nUnit 测试 Nancy 模块断言失败

c# - 使用 Nancy TinyIoC 配置 JsonNetSerializer 和 JsonNetBodyDeserializer

mysql - 数据库、表和列的不同字符集和排序规则会导致性能问题吗?