目前我有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次,但我应该只保留这样的代码。我们能否在单个action中完成所有的控制器调用。浏览器中的操作,它将自动调用所有这些操作。