0

を継承するクラスではリクエスト間で保持クラス変数。次のサンプルコードでは、IsAuthorizedメソッドを入力すると、変数moduleIdは最後の要求の値を保持します。私はそれぞれの要求に対して別々のオブジェクトを期待していたため、値はnullにする必要があります。ウェブAPI - 私はカスタムAuthorizeAttributeを実装しようとしているAuthorizeAttribute

AppStartでは、カスタムauthorize属性がすべてのapi要求に適用されます。

Public Sub Register(ByVal config As HttpConfiguration) 
    config.Filters.Add(New MyAuthorizeAttribute()) 
End Sub 

カスタムActionFilterAttributeについても同様の動作が発生します。

私の質問は、

  1. なぜこの出来事はありますか?
  2. 何百もの同時要求がある場合、これは影響を受けますか?はいの場合、どうすればこの問題を解決できますか?

ありがとうございます!

答えて

0

すべてのリクエストで同じフィルタインスタンスが使用されるため、propertyは使用できません。

代わりに、ローカル変数を使用します。

Dim moduleId As String = actionContext.RequestContext.RouteData.Values("moduleId") 
関連する問題