在ASP.NET中编写一个简单的搜索模块,由AJAX调用;面对建筑困境

时间:2016-03-11 20:34:04

标签: c# asp.net-mvc entity-framework

我在ASP.NET中有一个嵌入式同步搜索功能的现有站点,我希望将其分解为一个可以使用AJAX异步调用的模块。主机是Azure,数据库是SQL Server。

搜索功能当前在MVC3 / EF应用程序中编写,并在ASCX页面内同步调用,其中JSON输出呈现为HTML。 EF显然效率低下,我至少需要重构(使用轻型ORM和手写过程)并更新控制器。但是,在查看需求时,我想知道MVC是否是我唯一的选择,并且已经找到了我在下面的图表中列出的其他三个潜在选项。

我想知道我在ASP.NET中使用哪些选项来重写和隔离下面的搜索功能。最简单的方法(对我来说)是使用带有.ASCX文件的Web窗体应用程序类型,该文件除了调用数据访问类(或Dapper ORM类)的[WebMethod]修饰函数以外,只返回LINQ数据进行转换到JSON输出到调用者(AJAX JavaScript方法)。

但是,我听说过WebAPI,并且再次考虑过MVC,当然使用较轻的ORM作为模型,因此我可以自定义数据访问。

在我创建的规范图中,我在下面描述的三种方法的权衡是什么?在我的第一轮分析中是否缺少考虑因素?

Architecture and Constraints

0 个答案:

没有答案