首页 > 解决方案 > 从单个控制器 Action ASP.NET MVC 调用多个控制器 Action

问题描述

目前我有 5 个控制器(cn1 到 cn5),每个控制器都有相同的操作(createFile),这将创建特定模块所需的一些文件。由于某些要求,我只需要单独保存它,所以目前我们根据调用每个操作我们的需要。现在我正在尝试创建一个单独的操作(我将在浏览器中调用),它将一个一个地调用所有这些操作。我仍然想在需要时单独调用该操作,因此我无法更改我单独的控制器操作。并且同样在未来,新模块可能会在最小的修改中出现,我应该能够适应新的控制器动作调用我的新动作。

我的一个控制器动作如下

    [Route("createFile")]
    public HttpResponseMessage GetData()
    {
        try
        {

            var response = Request.CreateResponse(HttpStatusCode.Created);

              //file creation code
             //if success
                response.Content = new StringContent("Filter JSON file Error", Encoding.UTF8);
            else
                response.Content = new StringContent("Filter JSON file is created", Encoding.UTF8);
            response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain");
            return response;
        }
        catch (Exception ex)
        {

            return Request.CreateResponse(HttpStatusCode.InternalServerError);
        }
    }

目前正在浏览器 URL 中访问此操作,因此对于 5 个模块,我需要调用 5 次,但我应该只保留这样的代码。我们能否在单个操作中实现所有控制器调用。就像我将在浏览器中调用控制器/操作然后它会自动调用这些所有动作。

标签: c#.netasp.net-mvc

解决方案


推荐阅读