ウェブAPIのリクエストを使用してポストフォームのパラメータ値を読み取るにはどうすればよいですか?私はAuthenticateAsync機能にポストパラメータをチェックしたい別々Web API、C#のアクションフィルタでポストフォームのパラメータ値を取得するにはどうすればよいですか?
public class AuthenticationAttribute : Attribute, IAuthenticationFilter
{
public Task AuthenticateAsync(HttpAuthenticationContext context, CancellationToken cancellationToken)
{
// I want to read the post paramter values over here
}
public Task ChallengeAsync(HttpAuthenticationChallengeContext context, CancellationToken cancellationToken)
{
return Task.Run(
() =>
{
});
}
public AuthenticationAttribute()
{
}
}
AuthenticationAttributeクラスを定義しているコントローラ
[Route("")]
[HttpPost]
[AuthenticationAttribute]
public void PostQuery()
{
//some code
}
を持っています。
私は
context.Request.Content.ReadAsStringAsync().Result;
をやってみましたが、この文字列は空です。私は
context.Request.GetQueryNameValuePairs();
を使用してクエリパラメータを読み取ることができています。しかし、ポストフォームパラメータを取得する方法を見つけることができませんでした。どんな助けもありがとうございます。
なぜAuthenticationAttributeからリクエストの本文にアクセスしたいのですか?副作用として、Task.Run()を避けることをお勧めします。 –