成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談如何在ASP.NET中了解LINQ語句性能

開發 后端
作者最近在使用Linq To SQL的時候,為了了解不同Linq語句對性能造成的不同影響,需要獲得Linq To SQL生成的SQL語句。為了實現這一功能,作者創建了一些小工具,供大家使用。

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

_context.Log = Console.Out;

即可在控制臺輸出SQL語句??墒窃贏SP.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語句。

【編輯推薦】

  1. LINQ橫向對比foreach方法
  2. 手把手教你用好LINQ to SQL
  3. 使用LINQ和ADO.NET創建Silverlight程序
責任編輯:彭凡 來源: cnblogs
相關推薦

2009-09-10 14:02:08

LINQ ASP.NE

2009-07-20 15:30:11

ASP.NET應用

2009-07-22 16:11:43

ASP.NET AJA

2009-07-24 10:52:42

ASP.NET ISA

2011-10-14 10:37:54

ASP.NET

2009-07-21 14:16:02

ASP.NET管道優化

2011-08-23 10:58:59

2009-07-23 15:24:37

ASP.NET Ima

2009-07-27 16:19:59

ASP.NET報表控件

2009-07-28 17:49:30

ASP.NET定期回收

2009-07-28 16:03:23

ASP.NET狀態服務

2009-07-20 17:12:17

ASP.NET訪問數據

2009-08-05 15:29:33

ASP.NET For

2009-07-22 13:24:24

ASP.NET MVC

2009-07-23 15:44:39

ASP.NET MVC

2009-08-10 10:19:47

ASP.NET組件設計

2009-08-05 11:00:46

獲得RowIndexASP.NET

2009-07-21 15:02:19

ASP.NET應用程序

2009-07-27 13:01:28

TreeViewASP.NET

2009-08-19 10:54:42

ASP.NET數據訪問
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区精品 | 成人美女免费网站视频 | 伊人网99| 日韩一区在线播放 | 一区二区三区国产 | 日韩手机在线视频 | 九色 在线 | 免费黄色录像片 | 日本在线视频一区二区 | 天天干天天操 | 久久一级 | 国产一区二区免费 | 国产精品九九 | 亚洲欧美在线视频 | 在线观看黄色电影 | 黄色在线免费观看 | 久久午夜精品福利一区二区 | 日韩成人精品一区 | 久久精品久久久久久 | 中文字幕一区二区三区日韩精品 | 亚洲视频免费在线 | 免费欧美视频 | 亚洲精品久 | 亚洲精品片 | 亚洲少妇综合网 | 日韩免费电影 | 91原创视频| 二区三区视频 | 日韩一区二区在线观看视频 | 色婷婷av99xx| 久久亚洲免费 | 欧美va大片 | 亚洲一区三区在线观看 | 国产乱码精品一区二区三区中文 | 午夜视频在线视频 | 国产激情视频 | 超碰成人在线观看 | 视频1区2区| 国产xxx在线观看 | 韩日在线 | 欧美精品成人 |