软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 网络编程 > ASP.NET > 在ASP.NET编程中了解LINQ语句性能

在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语句。
    相关阅读
    网友评论
    栏目导航
    推荐软件