浅谈ASP.NET中显示Linq To SQL输出的SQL语句_.Net教程
推荐:怎样在ASP.net中做网站访问量统计一位QQ好友问我个人网站访问量是如何统计的,由于本人初学做网站,水平有限,所介绍的方法可能是笨方法,但在我网站上能够凑合着使用,希望大家多多指教。 一、建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Ad
最近在使用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,用来显示日志:
onclick="btn_Clean_Click"/>
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
");
}
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语句
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jefflam/archive/2009/06/14/4268911.aspx
分享:.Net基础之了解ASP.NET中的IFRAME框架挂马安全工程师,要能独立负责网站安全、局域网安全、服务器安全等,要了解网页挂马有IFRAME框架挂马、JS文件挂马、伪装挂马、CSS挂马、ActiveX组件挂马等方式,这样才可以有针对性地进行防范,避免网站和服务器等安全威胁。下面,我们来迈出成长为安全工程师的
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- asp.net中javascript的引用(直接引入和间接引入)
- 三层+存储过程实现分页示例代码
- 相关链接:
- 教程说明:
.Net教程-浅谈ASP.NET中显示Linq To SQL输出的SQL语句。