私は私のコントローラはOnActionExecutedのアクションで行われた後、いくつかのものをやろうとしています二度呼ばれてOnActionExecuted。 しかし、このメソッドは2回呼び出されます。私はこのフィルタをしようとすると、は、Web API
public class TestFilter: ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
//do stuff here
}
}
と私のコントローラは
[TestFilter]
public class BaseController : ApiController
{
public LoginResponseDTO Login(LoginRequestDTO loginRequestDTO)
{
//do login stuff
}
}
、onActionExecuted方法は、二回の応答に2回適用される方法で自分の行動を引き起こすと呼び出さ
マイフィルタ方式。私は理由を探しましたが、解決策を見つけることができません。
任意のアイデア?
あなたは、両方のTestFiltersは、1つのコールスタックに発射される示し、関連するスタックトレースを提供することはできますか? – Haney
私のコードで同じことが起こっているのがわかります。コントローラ内のブレークポイントコントローラを最初に焼成することonactionexectued示し、次いでOnActionExectuedを二回焼成されます。 – Andiih
私は同じ問題がありました [AttributeUsages(AttributeTargets.Method | AttributeTargets.Class、AllowMultiple = false、Inherited = true)] 私のためにそれを修正しました。残りのすべてのものとして|完璧に働いていた...あなたは答えとして私はそれを投票できるようと言っていたウィッシュ...私は[(AttributeTargets.Class AttributeTargets.Method)AttributeUsage]を追加する必要が私の場合は – Martijn