表现:

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. HDU-3944 DP?(组合数求模)

    一.题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3944 二.题意 给一个巨大的杨辉三角,采用类似DP入门题“数字三角形”的方式求从顶点$(0, 0) ...

  2. fdisk用法(转载)

    Linux下的fdisk功能是极其强大的,用它可以划分出最复杂的分区,下面简要介绍一下它的用法: 对于IDE硬盘,每块盘有一个设备名:对应于主板的四个IDE接口,设备名依次为:/dev/hda,/de ...

  3. solr之高级查询--联表 join查询

    例如有两个业务表:文章表,评论表 . 场景: 一个文章可以由多个人评论. 创建两个core,一个core叫article,一个叫comment.article实例的schema.xml文件中定义几个简 ...

  4. js事件监听机制(事件捕获)

    在前端开发过程中我们经常会遇到给页面元素添加事件的问题,添加事件的js方法也很多,有直接加到页面结构上的,有使用一些js事件监听的方法,由于各个浏览器对事件冒泡事件监听的机制不同,le浏览器只有事件冒 ...

  5. android studio 3.0.1使用笔记(二)

    发布前如何生成正式签名的APK? 一,查看APK签名方法:??Preferences->Android->Build可以查看到这个默认keystore文件的位置. 二,新建正式签名过程: ...

  6. uva-11044-水题

    #include <iostream> #include<memory.h> #include<stdio.h> using namespace std; int ...

  7. #用openfiledialog文件和savefileDialog打开和保存文件

    一.打开文件 Stream myStream = null;            OpenFileDialog openFileDialog1 = new OpenFileDialog();     ...

  8. 值得推荐的开源C/C++框架和库

    值得学习的C语言开源项目   - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工 ...

  9. java中回调函数的使用

    package com.huawei.common; import java.sql.ResultSet;import java.sql.SQLException; /** * 回调函数 * @aut ...

  10. 第七章 二叉搜索树(b1)BST:查找