加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何从Visual Studio 2010 SP1运行时捕获IIS Express

发布时间:2020-12-16 09:34:37 所属栏目:asp.Net 来源:网络整理
导读:如果从命令行运行IIS Express,则在Web应用程序中编写Console.Out的任何内容都将显示在命令行输出中.如果设置DataContext.Log = Console.Out,这对于解决LINQ to SQL转换问题非常方便.但是,如果在VS 2010 SP1中的Web项目属性中选中“使用IIS Express”,则永远
如果从命令行运行IIS Express,则在Web应用程序中编写Console.Out的任何内容都将显示在命令行输出中.如果设置DataContext.Log = Console.Out,这对于解决LINQ to SQL转换问题非常方便.但是,如果在VS 2010 SP1中的Web项目属性中选中“使用IIS Express”,则永远不会看到命令行.

你可以重定向IIS Express Console.Out到日志文件或什么?

解决方法

我找到了一种通过damieng的博客直接写入Debug Console窗口的方法:

class DebugTextWriter : System.IO.TextWriter {
   public override void Write(char[] buffer,int index,int count) {
       System.Diagnostics.Debug.Write(new String(buffer,index,count));
   }

   public override void Write(string value) {
       System.Diagnostics.Debug.Write(value);
   }

   public override Encoding Encoding {
       get { return System.Text.Encoding.Default; }
   }
}

您可以像使用Console.Out一样将它附加到DataContext:

#if DEBUG
   db.Log = new DebugTextWriter();
#endif

http://damieng.com/blog/2008/07/30/linq-to-sql-log-to-debug-window-file-memory-or-multiple-writers

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读