香港虚拟主机
本站公告
新闻资讯
虚拟主机帮助
域名帮助
服务器帮助
邮箱帮助
建站帮助
网站推广帮助
VPS帮助
特色主机帮助
网站备案专题
会员帮助信息
代理帮助信息
成功案例
王莹谈个人网站单打独斗难成…
买空间送网站活动全面启动
7月1日正式实名制 网购业或迎…
“一站式服务” 将成互联网主…
新疆互联网服务全面恢复
互联网之父:未来互联网不用…
“永不落幕”的世博会互联网…
坠落的263.net二度重来 已是…
大学毕业生自行创业开网络公…
视频网站屏蔽海外IP跨区域侵…
您现在的位置: 江南数联 >> 帮助中心 >> 建站帮助 >> 正文

浅谈如何在ASP.NET中了解LINQ语句性能

  作者:admin    来源:本站原创    点击次数:29     更新时间:2009-7-16 17:43:10  
     
 
关注石头有礼
 
 

浅谈如何在ASP.NET中了解LINQ语句性能

如果是在桌面程序中,只需要

_context.Log = Console.Out;

即可在控制台输出SQL语句。可是在ASP.NET中又该怎么办呢?


这时我想起了StringWriter。用它就可以代替Console.Out帮我们接收输出的日志,保存在一个StringBuilder里。

于是构造一个辅助类:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.IO;using System.Text;namespace Clowwindy.Models{public static class LogHelper{public static StringBuilder Log = new StringBuilder();public static TextWriter In = new StringWriter(Log);public static string GetAllLog(){In.Flush();return Log.ToString();}public static void Clean(){Log = new StringBuilder();In = new StringWriter(Log);}}}


再添加一个页面log.aspx,

 

用来显示日志:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Log.aspx.cs" Inherits="Clowwindy.Log" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"><title>SQL Log</title></head><body><form id="form1" runat="server"><asp:Button ID="btn_Clean" runat="server" Text="清空" onclick="btn_Clean_Click"/><div><asp:Literal ID="Literal1" runat="server"></asp:Literal></div></form></body></html>

 

 

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Clowwindy.Models;namespace Clowwindy{public partial class Log : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (Request.UserHostAddress != "127.0.0.1"){Response.End();return;}Literal1.Text = LogHelper.GetAllLog().Replace("\n","\n<br/>");}protected void btn_Clean_Click(object sender, EventArgs e){LogHelper.Clean();Literal1.Text = null;}}}

最后在所有new DataContext的地方加上_context.Log = LogHelper.In:

        public Repository(){_context = new TDataContext();_context.Log = LogHelper.In;}

打开log.aspx,即可看到之前执行的SQL语句。

本章关健词:江南数联 域名注册 海外虚拟主机 G享虚拟主机 国内虚拟主机 企业邮箱 网站建设 自助建站 400电话申请 微聚商

 
  版权申请:浅谈如何在ASP.NET中了解LINQ语句性能出自江南数联dns06.com未经授权请勿转载!  
 
  • 上一篇帮助:

  • 下一篇帮助:
  •  
         

    扫一扫关注公众号有礼
    Copyright@2004-2015 江南数联 版权所有未经授权请勿复制!
    《中华人民共和国增值电信业务经营许可证》ISP证编号:皖B2-20080036 湘B2-20160056
    公司全称:永州石头网络技术有限公司(运营部)
    地址: 中国·湖南省永州市育才路158号 服务热线:400 616 9260
    安徽公司:安徽仁科信息技术有限公司 地址:合肥万和新城广场A-608 
    关注词:网站空间虚拟空间空间域名域名空间域名主机网站空间哪家好网站空间多少钱