【发布时间】:2017-06-27 07:30:49
【问题描述】:
我有 MVC 应用程序,使用 ActionResult 索引方法。此方法返回一个视图。
现在我们决定从另一个应用程序调用此方法并获取此ActionResult 视图以将其转换为相同的 Html 页面。
我正在像这样调用 MVC 应用程序的方法:
baseAddress = "http://localhost:63803/";
apiAddress = "Violations/Index";
var _client = new HttpClient();
_client.BaseAddress = new Uri(baseAddress);
try
{
var response = _client.GetAsync(apiAddress).Result ;
var content = response.Content.ReadAsStringAsync().Result;
return content;
}
我正在获取页面的完整 HTML。但是我怎样才能得到真正的ActionResult?因为我想在我的新应用程序中看到相同的视图。
【问题讨论】:
-
你的问题没有多大意义。你能把最后一句话说清楚吗?
-
是的。 MVC 应用程序 - 是我们的服务。我们想从 GateWay web api 获取一个视图(ActionResult)。所以,我想得到 ActionResult 方法的结果(实际上就像网关服务中的“ActionResult”类型。
-
您无法通过 HTTP 获取该类型的对象。你为什么要这样做呢?
-
因为我们还有其他服务(WebApi、Mvc 等)并且我们希望有一个 GateWay 服务来调用所有这些服务,就像一座桥梁。所以,我们需要把这个 MNV 分离到客户端和服务端
-
一旦你调用了真正的 ActionResult 直到它出现在你面前,它就会清除 MVC 管道。这意味着它会渲染输出并将渲染的输出发送给您。现在你想让这个渲染的东西回到 actionresult 吗?为什么??只需使当前控制器操作无效并刷新此 html 作为响应。
标签: .net asp.net-mvc visual-studio model-view-controller actionresult