我在Visual Web Developer 2010 Express上创建了一个Web API应用程序。
然后我有了这段代码:
public class ProductController : ApiController
{
// POST api/product
public void Post([FromBody]string value, HttpRequestMessage request)
{
int i = 5;
}
...
我使用“使用本地IIS Web服务器”在IIS 7.5 / Windows 7上调试应用程序。应用程序在集成模式下以Maximum Worker Processes = 1
在池中运行。
我在int i = 5;
我在可视化网络开发者上按F5,然后我将浏览器指向http://localhost/
。主页包含一个简单的表单,我用它来发布到Web服务。帖子URL是/mcp.test/api/product。大多数情况下,断点按预期命中。偶尔,特别是在我将应用程序暂停在断点中很长一段时间后,然后继续(F5),我发布表单时不会触发断点。我仍然得到与破坏点被击中时相同的响应(状态代码204),但没有命中。
IIS日志:
2015-02-03 22:12:01 :: 1 POST /mcp.test/api/product - 80 - :: 1 Mozilla / 5.0 +(Windows + NT + 6.1; + WOW64)+ AppleWebKit / 537.36 + (KHTML,+ like + Gecko)+ Chrome / 40.0.2214.93 + Safari / 537.36 204 0 0 999
2015-02-03 22:12:03 :: 1 POST /mcp.test/api/product - 80 - :: 1 Mozilla / 5.0 +(Windows + NT + 6.1; + WOW64)+ AppleWebKit / 537.36 + (KHTML,+ like + Gecko)+ Chrome / 40.0.2214.93 + Safari / 537.36 204 0 0 3
第一行是断点命中(999是它所花费的时间),第二行是断点未命中(它只需要3次)。
任务管理器仅显示一个正在运行的w3wp.exe工作进程。
如何100%完成断点?