我想编写类似于 Web API 中提供的数据注释的方法验证过程。
在 Web api 中我们可以验证一个对象,例如:
public class Numbers
{
[NumberOne]
public string Number1 { get; set; }
[NumberTwo]
public string Number2 { get; set; }
}
并且只要我们定义属性NumberOneAttribute
和NumberTwoAttribute
一切都会好起来的。
不同之处在于 Web api 可以访问 GlobalConfiguration.Configuration.Filters
信号器似乎没有。
是否有办法通过属性验证请求?或者我需要遵循最坏的情况,验证调用方法中的每个输入?
谢谢, 奥里。
最佳答案
在 SignalR 2.2.x 中,没有本地方法可以实现此目的,但有 project on GitHub that that adds a Validation Module in the SignalR pipeline .
基本上,为了使用它,您需要向管道添加一个新模块:
GlobalHost.HubPipeline.AddModule(new ValidationModule());
然后,您可以将 [Required]
之类的属性用于模型的属性,然后使用 [Validate]
属性装饰所需的方法。
Note that this is a proof of contept project.
最诚挚的问候!
关于C# 信号器数据注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39485481/