【发布时间】:2018-09-23 22:42:12
【问题描述】:
我的任务是修复一个被报告为在生产中损坏的旧 Web api。当我克隆 repo 并尝试在 VS 中运行它时,Chrome 开始给出 ERR_CONNECTION_RESET 错误。更重要的是,尽管构建成功,但从来没有任何输出。例如,我进入 Global.asax 文件并直接在受保护的 void Application_Start() 方法中添加一些 Debug.WriteLine() 和 Trace.TraceInformation() 语句。没有结果。我对这怎么可能感到困惑 - 无法将任何内容打印到输出窗口的原因可能是什么?
这是 WebApiApplication 类,它是 Global.asax 的一部分。可以理解,这是有限的信息,但目前我不知道如何缩小问题范围。
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
Trace.TraceInformation("Log to console?");
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
var someList = new List<string> { (Add some items) };
var v = new SomeClass(SomeArgument, someList);
Application["v"] = v;
}
}
【问题讨论】:
-
Debug.WriteLine 和 Trace.Whatever 仅在构建中定义了
DEBUG和TRACE时才有效。你是在调试模式下从 VS 构建的吗? -
是的。定义了 DEBUG 和 TRACE。
-
如果设置断点会发生什么?它到达了吗?
-
@mason 事实上,没有。在 Application_Start() 的第一行设置的断点永远不会到达。