2016-09-14 13 views
2

Web APIにあるデータアノテーションに似たメソッドバリデーションプロセスを作成したいと思います。C#signalr data annotations

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

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

と限り、私たちはそのつもりは大丈夫属性NumberOneAttributeNumberTwoAttributeを定義として:ウェブAPIで

我々は、たとえば、オブジェクトを検証することができます。

web apiが信号機のように思われるGlobalConfiguration.Configuration.Filtersへのアクセス権を持っているという違いがあります。

属性によるリクエストを検証する方法はありますか?または私は最悪の場合に従う必要があります。呼び出したメソッドの各入力を検証しますか?

ありがとう、 Ori。

+0

SignalR2.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]で希望の方法を飾ることができます属性。

これはconteptプロジェクトの証拠です。

よろしくお願いいたします。