表现:

IDE是vs2017。是在 A 控制器方法断点后,却怎么也运行不到那个位置,但是又正常返回页面。该方法位于web项目引用的控制器类库上的一个控制器,试过它隔壁的控制器,一切正常。

但每次访问该方法,codelens都会有一次记录,如下:

尝试解决:

首先找了web项目,看看有没有那个名叫 A 的控制器,控制器数量不多,看了一眼,结果是没有,也没一个个点开看里面内容。接着觉得是bin文件里面会不会混入其它类库包含有名叫 A 的控制器,于是清理了一遍解决方案重新生成,结果还是不行。

然后想到把方法名改成Index1试试:

还是不行。最后,拍了下脑袋想起来可以用反汇编工具看看控制器类库 Index 有没有改成 Index1 ,结果是改了;再抱着试试的心态看了下web项目控制器,bingo!A控制器就在里面,瞬间明白是怎么回事。A 控制器出现在web项目名叫 AllController 的控制器里面,这是之前加的忘了删除,导致引用的进来的 A 控制器被覆盖了。删掉即可。

总结:

出现这种问题,却没有做好分析立马解决,是自己缺乏经验。这个坑所表现出来的各个知识点都懂,就是缺少一个解决问题的分析思路。首先本地调试不会像远程调试一样出现无法加载符号或者符号版本不一致的情况,也就是无法断点的情况;其次该方法是可以正常访问的,也就是没有出错,没有被拦截;然后奇怪的一点是codelens记录有访问次数,但状态却是红叉,这个迷惑性比较大,让人更加肯定断点没有错,因为每次访问这个记录数都会加一。如果抛开这点不看,调试状态中 一个方法访问正常,但是没有在断点位置停止,那就说明断点的这个位置不是代码经过的位置,这时候只需要继续找其他位置断点,直到断点成功。在这里的情况是web项目里面有同名的控制器覆盖了引用的类库的控制器,所以测试 A 控制器隔壁的控制器是正常的,也正因为覆盖了 A 控制器,codelens 的记录是红叉。通过在路由设置命名空间即可实现一个web项目共存两个同名控制器,按照注册顺序查找返回路由。

记那些年在asp.net mvc上挖过的坑的更多相关文章

  1. asp.net mvc上传头像加剪裁功能

    原文:asp.net mvc上传头像加剪裁功能 正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jqu ...

  2. asp.net mvc上传头像加剪裁功能介绍

    正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jquery.Jcrop 后台是asp.net mvc ...

  3. ASP.NET MVC上传文件----uploadify的使用

    课程设计需要实现上传文件模块,本来ASP.NET是有内置的控件,但是ASP.NET MVC没有,所以就有两种方法:自定义和采用第三方插件.由于时间的关系,故采用第三方插件:uploadify. upl ...

  4. ASP.NET MVC上传文件

    最近参考网络资料,学习了ASP.NET MVC如何上传文件.最基本的,没有用jQuery等技术. 1.定义Model public class TestModel    {        [Displ ...

  5. asp.net MVC 上传文件 System.Web.HttpException: 超过了最大请求长度

    APS.NET MVC 上传文件出现  System.Web.HttpException: 超过了最大请求长度 这个问题 原因是 默认最大上传文件大小为4096,而我提交的文件太大了. 解决方案:修改 ...

  6. 记一次ASP.NET MVC性能优化(实际项目中)

    前言 在开发中为了紧赶项目进度而未去关注性能的问题,在项目逐渐稳定下来后发现性能令人感到有点忧伤,于是开始去关注这方面,本篇为记录在开发中遇到的问题并解决,不喜勿喷.注意:以下问题都是在移动端上出现, ...

  7. 【转】记一次ASP.NET MVC性能优化(实际项目中)

    前言 在开发中为了紧赶项目进度而未去关注性能的问题,在项目逐渐稳定下来后发现性能令人感到有点忧伤,于是开始去关注这方面,本篇为记录在开发中遇到的问题并解决,不喜勿喷.注意:以下问题都是在移动端上出现, ...

  8. asp.net mvc 上传文件

    转至:http://www.cnblogs.com/fonour/p/ajaxFileUpload.html 0.下载 http://files.cnblogs.com/files/fonour/aj ...

  9. Asp.net mvc上传多张图片后台存储

    前台页面通过<file name="img">标签数组上传图片,后台根据Request.Files["img"]来接收前台上传的图片. 1 Syst ...

随机推荐

  1. oracle 跨库访问

    创建DBLINK的方法: 1. create public database link dblink connect to totalplant identified by totalplant us ...

  2. 给iOS开发新手送点福利,简述UISegment的属性和用法

    UISegment属性 1.segmentedControlStyle 设置segment的显示样式. typedef NS_ENUM(NSInteger, UISegmentedControlSty ...

  3. 关于RDS for mysql中导入数据库set global event_scheduler =1 需要更多超级权限

    关于RDS中导入数据库set global event_scheduler =1 需要更多超级权限 报错提示 其实这个意思是 让mysql自动启动 计划任务 如果在 命令行下 查询  SHOW VAR ...

  4. Microsoft Office Professional Plus 2013全套

    Microsoft Office Professional Plus 2013全套产品,全激活版本 包括Access  Word  Excel  Powerpoint  Publisher  Skyd ...

  5. PHP截取中文不乱吗

    function utf_substr($str, $len) { for ($i = 0; $i < $len; $i++) { $temp_str = substr($str, 0, 1); ...

  6. 【转】mac os、linux及unix之间的关系

    mac os.linux及unix之间的关系   unix 是由贝尔实验室开发的多用户.多任务操作系统 linux是一类Unix操作系统的统称,严格来说,linux系统只有内核叫“linux”,而li ...

  7. django中文件下载(HttpResponse)

    最近一个用django开发的web项目要进行数据的导入导出,所以有必要了解下. django中主要用HttpResponse将请求结果返回给浏览器,所以文件的下载也是通过改对象进行处理的,具体的一个列 ...

  8. tensorflow笔记 :常用函数说明

    常用函数说明,梯度.产生变量等 http://blog.csdn.net/c2a2o2/article/details/69061539

  9. css继承和层叠

    在前面介绍了如何利用文档结构和css选择器为元素应用各种丰富的样式,今天来好好聊聊css的层叠和继承,先说说概念. 继承:一个元素向其后代元素传递属性值所采用的机制,说的通俗点,就是元素的某些属性可以 ...

  10. windchill StatementCache: wt.util.Cache%828007782 [size=50, count=4, hits=36, misses=4, aged=0]

    StatementCache: wt.util.Cache%828007782 [size=50, count=4, hits=36, misses=4, aged=0] 方法: EXEC sys.s ...