我目前正在开发一个小型 Web 应用程序项目,我想使用 Microsoft MVC4 框架来开发该项目。我对网络开发的经验很少,所以请耐心等待。
在很大程度上,它是一个典型的数据、业务逻辑、视图 Web 应用程序。然而,也有一些操作是 CPU 密集型的,需要相当长的时间才能返回结果(它们是由用户通过参数直接请求的)。
我考虑过编写一个单独的 Web 服务,只负责昂贵的操作,以减少主 Web 应用程序的负载,但我不确定这是否正确。另外,如果我确实使用单独的 Web 服务,那么 Web 应用程序的哪个组件应该与其通信?视图,通过 AJAX 调用,控制器......?
我可以有一些关于如何将所有这些组合在一起的快速指南吗?
Web 应用程序的哪个组件应该与其通信?
控制器。视图应该只调用您的控制器操作。然后控制器负责查询一些服务,构建模型并将该模型传递给视图。
您可以通过AJAX加载所有数据。非常简单。
首先创建Controller,将JSON返回给View。
[HttpPost]
public ActionResult GetData()
{
var data= "your data from db or web service"
return Json(data);
}
第二次使用AJAX获取数据。
function GetData(cityID) {
$.ajax({
url: '/Controler/GetData',
type: 'POST',
dataType: 'json',
success: function (results) {
//your data is in results varible
},
error: function (jqXHR, textStatus, errorThrown) {
}
});
}
这非常快,因为所有方法都将被异步调用。
这是Web MVC 架构的参考图片。