1
私は、customAuthorization中にOnAuthorizeメソッドでPostリクエストのパラメータにアクセスできる方法を探しています。WebAPIのAuthorizeAttributeのonAuthorizationメソッドで投稿リクエストのパラメータにアクセスする方法
他のスレッドを見て、以下の方法で試しましたが、うまくいきませんでした。
この場合、ActionArgumentsは空です。
AgentSummaryParams summary = (AgentSummaryParams)actionContext.ActionArguments["AgentSummaryParams"];
string userID = (string)actionContext.ActionArguments["UserID"];
クエリは空の文字列です。
var queryString = HttpUtility.ParseQueryString(actionContext.Request.RequestUri.Query);
var myQueryParam = queryString["MyValue"];
リクエストオブジェクトでメソッドGetQueryNameValuePairs()を見つけることができません。
var queryParameters = actionContext.Request.GetQueryNameValuePairs().ToDictionary(x => x.Key, x => x.Value);
var some_value = queryParameters.ContainsKey("some_key")
? queryParameters["some_key"] : string.Empty;
誰かが、次の方法でHttPostメソッドのリクエストパラメータにアクセスする方法を教えてください。最後の2行が
var request = actionContext.Request.Content.ReadAsStringAsync().Result;
JObject Obj = JObject.Parse(request);
UseID = (string)Obj["UserID"];
を更新しました
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext)
{
ModelParamssummary = (ModelParams)actionContext.ActionArguments["ModelParams"];
string userID = (string)actionContext.ActionArguments["UserID"];
}
}
回答は、私はちょうど私が探しています正確なキーと値のペアを取得することができます。
ありがとうございました!私はあなたが提供した完全なソリューションで自分の答えを更新しました。 – Blossom