我在网络服务器上工作,当我的某个应用程序停止时,我试图向客户端发送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。
感谢您的帮助。
答案 0 :(得分:0)
要返回404,请将HttpException
与404作为其第一个参数:
throw new HttpException(404, "Service Is Unabilable");
但是,如果URL有效,则返回错误的HTTP状态。服务器端问题以及其他有效请求(例如,您已停止服务)应导致5xx系列状态。特别是503:"服务不可用"适合这种情况。再次抛出HttpException
。