Witam
Mam sobie kontroler, a w tym kontrolerze metody, które zwracają JsonResult.
Jak FE odpali jakąś metodę w kontrolerze to przekazuje jej parametry i tam w środku tej metody są odpalane metody z WCFa, a na koniec zwracany jest wynik do FE w postaci JSONa.
To co potrzebuję zrobić to przechwycić wynik wykonania metody z WCFa i zwalidować z poziomu kontrolera poprawność danych zanim ten wynik zostanie przesłany w postaci JSONa na FE.
Trop na jaki wpadłem to użycie filtrów akcji, ale nie wiem czy z ich poziomu można się dostać do danych, które dzieją się wewnątrz metod kontrolera.
Jest taki sposób? Ewentualnie jak to inaczej zrobić?
public class ImportFileComponentController : BaseController
{
private readonly IReportsService _reportsService;
protected override void OnResultExecuting(ResultExecutingContext filterContext)
{
base.OnResultExecuting(filterContext); // <--- tutaj nie ma danych wynikowych z WCFa
}
public ImportFileComponentController(IReportsService reportsService)
{
_reportsService = reportsService;
}
[HttpPost]
public JsonResult UploadFile(HttpPostedFileBase file)
{
var result = _reportsService.ImportFile(file); //<---- jak wyciągnąć dane wynikowe po wykonaniu tej metody z WCF?
return Json(new
{
success = result.isSuccess,
errors = result.Messages,
filename = result.FileName
}, "text/html");
}
}