У меня есть этот простой кусок кода:
public class TestController : System.Web.Mvc.Controller
{
/// <summary>
/// Used for test
/// </summary>
[ResponseType(typeof(string))]
public ActionResult Index()
{
try
{
// How to get multipart data here?
var result = new JsonResult();
result.Data = ValidateSignedRequest(content);
return result;
}
catch (Exception ex)
{
throw ex;
}
}
/// Example signed_request variable from request multipart/form-data
//private string VALID_SIGNED_REQUEST = "ZcZocIFknCpcTLhwsRwwH5nL6oq7OmKWJx41xRTi59E.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImV4cGlyZXMiOiIxMjczMzU5NjAwIiwib2F1dGhfdG9rZW4iOiIyNTQ3NTIwNzMxNTJ8Mi5JX2VURmtjVEtTelg1bm8zakk0cjFRX18uMzYwMC4xMjczMzU5NjAwLTE2Nzc4NDYzODV8dUk3R3dybUJVZWQ4c2VaWjA1SmJkekdGVXBrLiIsInNlc3Npb25fa2V5IjoiMi5JX2VURmtjVEtTelg1bm8zakk0cjFRX18uMzYwMC4xMjczMzU5NjAwLTE2Nzc4NDYzODUiLCJ1c2VyX2lkIjoiMTY3Nzg0NjM4NSJ9";
public bool ValidateSignedRequest(string request)
{
// ...
}
}
Я обнаружил, что с System.Web.Http.ApiController это легко:
[Route("test")]
[ResponseType(typeof(string))]
[HttpPost]
[AllowAnonymous]
public async Task<IHttpActionResult> Test()
{
var signedRequest = HttpContext.Current.Request.Params["my_data_key"];
return Ok(await Task.FromResult(signedRequest));
}
Но здесь я должен используйте System.Web. Mvc .Controller, и я пока не могу найти решение.
Есть идеи? спасибо!