将服务器状态设置为404 .net

时间:2015-03-04 08:51:13

标签: c# .net webserver

我在网络服务器上工作,当我的某个应用程序停止时,我试图向客户端发送404错误消息。

private static int _firstFibonacci = 1;
    private static int _secondFibonacci = 1;      

    public override string HandleRequest(string[] parameters)
    {
        if (_isStopped)
        {

        } 
        Console.Write(_firstFibonacci + "\n" + _secondFibonacci + "\n");

        int nextFibonacci = _firstFibonacci + _secondFibonacci;

        Console.WriteLine(nextFibonacci);

        _firstFibonacci = _secondFibonacci;
        _secondFibonacci = nextFibonacci;

        return nextFibonacci.ToString();
    }

这是我的应用程序,在服务器类中我没有启动它,所以我的_isStopped bool是真的,如果阻塞它会进入。我的问题是我无法返回错误404,如果我尝试使用stackoverflow上的方法,并且我不想使用自定义404错误。顺便说一句,我在Server类上使用了HttpListener。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

要返回404,请将HttpException与404作为其第一个参数:

throw new HttpException(404, "Service Is Unabilable");

但是,如果URL有效,则返回错误的HTTP状态。服务器端问题以及其他有效请求(例如,您已停止服务)应导致5xx系列状态。特别是503:"服务不可用"适合这种情况。再次抛出HttpException