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

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

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

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

_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語句。

【編輯推薦】

  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技術棧公眾號

主站蜘蛛池模板: 亚洲永久免费 | 亚洲午夜精品久久久久久app | 亚洲成人一区 | 午夜国产一级 | 午夜免费av| 欧洲一级黄 | 色在线免费视频 | 精品久久久久久亚洲精品 | 久久久久久国产精品免费免费 | 国产婷婷色综合av蜜臀av | 久热9| 蜜月va乱码一区二区三区 | 国产成人影院 | 国产激情精品视频 | 久久成人精品一区二区三区 | 成人国产在线观看 | 成人美女免费网站视频 | 亚洲 中文 欧美 日韩 在线观看 | 亚洲福利在线视频 | 成人免费观看视频 | 日本成年免费网站 | 毛片在线免费 | 9999国产精品欧美久久久久久 | 国产日韩一区二区三免费高清 | 美国十次成人欧美色导视频 | 91视频在线| 久久久久国产一区二区三区 | 日本不卡一区二区 | а天堂中文最新一区二区三区 | 欧美日韩久| 五月婷婷丁香婷婷 | 欧美理论片在线观看 | 在线免费视频一区 | 久久精品久久久 | 国产成人精品高清久久 | 在线观看av网站永久 | 理论片87福利理论电影 | 国产一区二区三区不卡av | 精品一区二区三 | 中文字幕一区二区三区在线观看 | 精品在线播放 |