2016-09-14 101 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]所需的方法屬性。

請注意,這是驗收項目的證明。

此致敬禮!