在控制器方法内部执行WCF方法后如何接收结果数据?

时间:2018-11-28 12:02:14

标签: c# wcf action-filter

在MVC控制器方法中执行注入的WCF方法后,我需要验证结果数据。如果结果有效,则控制器方法应将数据传递给FE。如果不是,它应该显示带有错误消息的弹出窗口。它应该在全球范围内工作。

我以为可以为该解决方案使用动作过滤器,但无法从动作过滤器内的WCF方法获得结果数据。

public class ImportFileComponentController : BaseController
{
    private readonly IReportsService _reportsService;

    protected override void OnResultExecuting(ResultExecutingContext filterContext)
    {
        base.OnResultExecuting(filterContext);  

        if (result data from WCF is not valid)
        {
         show popup 
        }
    }

    public ImportFileComponentController(IReportsService reportsService)
    {
        _reportsService = reportsService;
    }        

    [HttpPost]
    public JsonResult UploadFile(HttpPostedFileBase file)
    {
        var result = _reportsService.ImportFile(file);

        return Json(new
            {
                success = result.isSuccess,
                errors = result.Messages,
                filename = result.FileName
            }, "text/html");
    }
}

0 个答案:

没有答案