ef和ashx的简单测试

在这里。小弟我默默的计算了一下用一般处理程序和MVC配合EF,到底哪个快,事实问题是我感觉都差不多,因为用的是EF,所以要提高访问速率,我觉得还是要从数据访问做起:

一般处理程序代码:

 1  private DataModelContainer db = new DataModelContainer();
 2 
 3         public void ProcessRequest(HttpContext context)
 4         {
 5             context.Response.ContentType = "text/plain";
 6             string type=context.Request["Type"];
 7             string json = String.Empty;
 8             JavaScriptSerializer js = new JavaScriptSerializer();
 9             if (context.Request["type"] == null || context.Request["type"] == "" || context.Request["type"] == "undefined")
10             {
11                 context.Response.Write("0");
12             }
13             if (context.Request["Type"] == "list")
14             {
15                 try
16                 {
17                     var list = db.CollegeInfo.ToList();
18 
19                     var data = new { Row = list, Total =list.Count};
20                     json = new JavaScriptSerializer().Serialize(data);
21                     context.Response.Write(json);
22                 }
23                 catch
24                 {
25                     context.Response.Write("0");
26                 }
27             }
28         }
View Code

 db就是EF了。

静态页面(jQuery引用):

<script type="text/javascript">
        var timeParam = Math.round(new Date().getTime() / 1000);
        $(function () {
            $.getJSON("../Hander/MenuList.ashx?time=" + timeParam, { type: 'list' }, function (result) {
                if (result.Total > 0) {
                    for (var i = 0; i < result.Total; i++) {
                        var Name = result.Row[i].Name;
                        var Remark1 = result.Row[i].Remark1;
                        var Remark2 = result.Row[i].Remark2;
                        $("#ComInfoList").append("<table><tr><td>Name</td><td>Remark1</td><td>Remark2</td></tr><tr><td>" + Name + "</td><td>" + Remark1 + "</td><td>" + Remark2 + "</td></tr></table>");
                    }
                }
            });
        });
    </script>
 <div id="ComInfoList">
    </div>

用MVC(控制器):

1  private DataModelContainer db = new DataModelContainer();
2         public ActionResult Index()
3         {
4             return View(db.CollegeInfo.ToList());
5         }
View Code

视图(公司现在用的XP系统,所以小弟只能默默的继续用aspx了):

 1 <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<ProDatas.CollegeInfo>>" %>
 2 
 3 <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
 4     Index
 5 </asp:Content>
 6 
 7 <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
 8 
 9     <h2>学院列表</h2>
10 
11     <table>
12         <tr>
13           
14             <th>
15                 编号
16             </th>
17             <th>
18                 名称
19             </th>
20             <th>
21                 负责人
22             </th>
23             <th>
24                 备注1
25             </th>
26             <th>
27                 备注2
28             </th>
29               <th>请选择操作</th>
30         </tr>
31 
32     <% foreach (var item in Model) { %>
33     
34         <tr>
35             
36             <td>
37                 <%: item.ID %>
38             </td>
39             <td>
40                 <%: item.Name %>
41             </td>
42             <td>
43                 <%: item.Person %>
44             </td>
45             <td>
46                 <%: item.Remark1 %>
47             </td>
48             <td>
49                 <%: item.Remark2 %>
50             </td>
51             <td>
52                 <%: Html.ActionLink("修改", "Edit", new { id=item.ID }) %> |
53                 <%: Html.ActionLink("详情", "Details", new { id=item.ID })%> |
54                 <%: Html.ActionLink("删除", "Delete", new { id=item.ID })%>
55             </td>
56         </tr>
57     
58     <% } %>
59 
60     </table>
61 
62     <p>
63         <%: Html.ActionLink("添加学院信息", "Create")%>
64     </p>
65 
66 </asp:Content>
View Code

访问这两个页面的时候没有什么区别,不知道大神们有没有什么想法呢?

感觉EF做一般的网站没有任何问题,开发速度还快,再用个SQL数据库,那基本上只需要一些样式和排版就可以搞定了吧。

原文地址:https://www.cnblogs.com/JeffController/p/4095624.html