在调试ASP.NET应用程序时,我在VS2008上遇到了一个奇怪的问题。单步执行此代码时,下面显示的第二行将永远执行。 Visual Studio松散焦点,好像它正在等待当前行完成执行。
var headers = HttpContext.Current.Request.Headers;
user.FirstName = string.IsNullOrEmpty(headers["fName"]) ? "Unkown" : headers["fName"];
有没有人在调试中遇到过类似的行为?
我认为上面的代码与Visual Studio的不稳定行为无关。大多数情况下,当我逐步执行上面的代码时VS调试器与IDE分离,而实际代码继续在后台运行。
编辑:更改了标题并添加了其他观察结果。
答案 0 :(得分:1)
尝试将此行分解为
string fname = headers["fName"];
if(string.IsNullOrEmpty(fname))
{
user.FirstName = "Unkown";
}
else
{
user.FirstName = fname ;
}
再次调试,然后你就可以知道这段时间的线路在哪里。
答案 1 :(得分:0)
我的猜测是FirstName
是一个属性,而且这个属性的setter正在做一些花费很多时间的东西。