SIgnalR:如何在连接上向客户端发送异常?

nun*_*esf 3 c# asp.net signalr

在集线器中,我想基于Connection Header对客户端进行身份验证.
如果不允许客户端连接,我想抛出一个带有详细错误的异常.
但是,如果我在集线器上抛出异常,客户端只会收到"(500)内部服务器错误"

public override Task OnConnected()
{
    string clientKey = Context.Headers["clientKey"];
    string version = Context.Headers["version"];
    if (!this.isValid(clientKey, version))
        throw new InvalidOperationException("SIGNALR: Invalid client");

    return base.OnConnected();
}
Run Code Online (Sandbox Code Playgroud)

我必须做什么才能正确发送异常?

谢谢!

小智 5

当错误发生时,您可以返回该错误或将自定义消息返回给客户端,并且可以根据该消息将客户端重定向到错误页面或显示错误已发生的显示对话框.

不要在服务器端抛出错误.在客户端返回错误并通知用户