gpt4 book ai didi

c# - SignalR - 异常传播到客户端

转载 作者:太空狗 更新时间:2023-10-29 21:50:37 26 4
gpt4 key购买 nike

我有一个带有 .NET 客户端的 SignalR 应用程序。当服务器发生错误时,我需要能够在客户端进行处理。然而,这有点困难,因为 Signalr 总是将所有异常包装到一个“InvalidOperationException”中,并带有一条消息,如“UnknownUserException was thrown...”,而不是实际给我 UnknownUserException

我不确定该怎么做?

一个现在不起作用的示例(因为抛出 InvalidOperationException 而不是实际的异常):

try
{
await this.hubProxy.Invoke<Guid>("Authenticate", nww object[] { userName, languageCode, credentials });
}
catch(UnknownUserException ex)
{
Toast.Dislay("Invalid UserName.");
}
catch(ConnectionError ex)
{
Toast.Dislay("Connection Error.");
}

最佳答案

在您的服务器上,您可以启用详细错误:

Routes.RouteTable.MapHubs(new HubConfiguration
{
EnableDetailedErrors = true
});

请记住,通过这样做,服务器上抛出的错误将传递给客户端,这可能会揭示服务器端实现中的一些意外漏洞(仅供引用)。

关于c# - SignalR - 异常传播到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17949771/

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