2016-09-14 89 views
2

我想编写方法验证过程,它类似于Web API中提供的数据通信。C#信号数据通信

在网页API,我们可以验证对象,例如:

public class Numbers 
{ 
    [NumberOne] 
    public string Number1 { get; set; } 

    [NumberTwo] 
    public string Number2 { get; set; } 
} 

并且只要我们定义的属性和NumberOneAttributeNumberTwoAttribute会是好的。

区别在于web api可以访问GlobalConfiguration.Configuration.Filters,它看起来像signalr没有。

有无论如何通过属性验证请求?或者我需要遵循最坏的情况,验证调用方法中的每个输入?

谢谢, Ori。

+0

我不认为SignalR 2.2.x的开箱即用,但是有一个[GitHub上的项目,它完全符合您试图实现的目标。](https://github.com/AGiorgetti/ SignalR.Validation) –

+0

@ radu-matei足够好,你可以发布它作为答案,我会接受 –

回答

3

在SignalR 2.2.x中没有实现这个的原生方式,但有一个project on GitHub that that adds a Validation Module in the SignalR pipeline

基本上,为了使用它,你添加一个新的模块,管道:

GlobalHost.HubPipeline.AddModule(new ValidationModule()); 

然后,您可以像使用[Required]属性为模型的属性,然后装饰与[Validate]所需的方法属性。

请注意,这是验收项目的证明。

此致敬礼!