[英]Problem Using IIS Express with Visual Studio 2010 SP1
[英]How to capture IIS Express output when run from Visual Studio 2010 SP1?
如果从命令行运行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
如果为iisexpress.exe设置“图像文件执行选项”,则可以看到控制台输出。 唯一的问题是,当启动新的iisexpress.exe时,您将看到一个弹出控制台窗口。 只有在想要查看控制台跟踪时才能设置此选项。
请按照以下步骤设置图像文件执行选项:
从http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx安装windbg
设置以下注册表项(此链接可能会帮助您http://msdn.microsoft.com/en-us/library/a329t4ed(VS.71).aspx )
[HKEY_LOCAL_MACHINE \\ SOFTWARE \\ Microsoft \\ Windows NT \\ CurrentVersion \\ Image File Execution Options \\ iisexpress.exe]
“Debugger”=“c:\\\\ windbg -g -G”
您可以通过重命名或删除上述注册表项来禁用图像文件执行选项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.