2

MVC4アプリケーションがあり、global.asaxに多数のグローバルフィルターを追加しています。それらは1つの順序である必要があります。ユニットテストを作成して、それらが常に目的の順序になっていることを確認したいと思います。すべてのグローバルフィルターにアクセスしたり、これをテストしたりする方法はありますか?

4

2 に答える 2

3

FilterConfigデフォルトで(App_Startの下に)グローバルフィルターを登録しますよね?これは次のようなものです。

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }
}

次に、テストケースからこのメソッドを呼び出してGlobalFilterCollectionインスタンスに合格し、その後、GlobalFilterCollection合格した順序をテストできます。

于 2013-03-25T20:42:25.483 に答える
0

特定の注文が必要な場合は、属性として注文を指定することもできます

例:[FilterName(Order = 1)]

デフォルトでは、フィルターには順序が指定されていないため、フレームワークによってランダムに実行されます。

Order> -1の場合は、フィルターが実行される順序が保証されます。

(これがより多くの情報を提供するのに役立つかどうかはわかりませんが、もっと役立つと思いました)

参照:

http://msdn.microsoft.com/en-us/library/system.web.mvc.filter(v=vs.118).aspxhttp://msdn.microsoft.com/en-us/library/system 。 web.mvc.filter.order(v = vs.118).aspx

于 2014-02-26T18:11:32.087 に答える