在 Signalr .net 核心中——应该在哪里进行验证?
In Signalr .net core - where should validation take place?
如果我有一个接受参数的集线器方法
例如
public IObservable<MyStreamItem> StreamData(SomeRequestData request)
{}
如何在请求中传播验证错误?
只有在建立套接字连接时才会发出实际的http 请求。
因此对 Hub 方法的后续调用不会通过任何中间件。它们只是 frames/messages 在打开的 websocket 中。
我看过这个包,它适用于以前版本的 Signalr(适用于完整的 .net 框架)
https://github.com/AGiorgetti/SignalR.Validation
这使用了 HubPipelineModule
,它似乎不存在于新的 .net 核心 Signalr 中。
我可以利用管道中的适当位置来进行验证吗?
还是应该在集线器方法本身中完成?如果是这样,您将如何有条件地 return 一组结构化错误,而不是实际的 return 类型?
谢谢
SignalR alpha 中目前没有 HubPipelineModules,但我们正在寻找预览版 2 的等效项。今天,您需要在方法中执行此操作,并可能抛出错误以将其返回给客户端。
如果我有一个接受参数的集线器方法
例如
public IObservable<MyStreamItem> StreamData(SomeRequestData request)
{}
如何在请求中传播验证错误?
只有在建立套接字连接时才会发出实际的http 请求。 因此对 Hub 方法的后续调用不会通过任何中间件。它们只是 frames/messages 在打开的 websocket 中。
我看过这个包,它适用于以前版本的 Signalr(适用于完整的 .net 框架) https://github.com/AGiorgetti/SignalR.Validation
这使用了 HubPipelineModule
,它似乎不存在于新的 .net 核心 Signalr 中。
我可以利用管道中的适当位置来进行验证吗? 还是应该在集线器方法本身中完成?如果是这样,您将如何有条件地 return 一组结构化错误,而不是实际的 return 类型?
谢谢
SignalR alpha 中目前没有 HubPipelineModules,但我们正在寻找预览版 2 的等效项。今天,您需要在方法中执行此操作,并可能抛出错误以将其返回给客户端。