14.C#/.NET编程中的常见异常(持续更新)
1.Object reference not set to an instance of an object.
未将对象引用(引用)到对象的实例,说白了就是有个对象为null,但是你在用它点出来的各种东西。
2.An entity object cannot be referenced by multiple instances of IEntityChangeTracker.
一个实体对象不能由多个IEntityChangeTracker实例引用。首先参见MSDN中对于Entity Framework中的增删改的说明,特别是修改对象那里。我们看到说明文档里有这样一句话“对象服务使用IEntityChangeTracker的实例来跟踪对附加到ObjectContext的对象的更改”,1)Tracker是用来跟踪某个对象属性更改的,2)被跟踪的是附加到某个上下文的对象,3)错误信息是说一个对象不能被多个Tracker跟踪,即一个附到特定的Context中的对象有一个Tracker。
然后我觉着帮我解决这个问题的博客,说的不是太清楚,也可能是我理解能力比较差,试着自己分析一下。对应到原帖,An Entity指的肯定是user,为什么它会有多个IEntityChangeTracker的实例,明显是因为他被附到两个Context中,RoleManager.GetRoleById()方法和UserManager.Add()方法的上下文也就是Entities不一样。
通俗来讲,对于同一个实体对象(数据库关联)的操作,请在同一个上下文中完成。
3.Collection was modified; enumeration operation may not execute.
对于一个集合进行foreach遍历,如果foreach中对集合有添加和移除操作,就会报这个错。
这是IEnumerator自身的特性决定,参见备注部分:
--------------------------------大家晚上好--------------------------------
只要集合保持不变,枚举数就保持有效。如果对集合进行了更改(如添加、修改或删除元素),则枚举数将失效且不可恢复,并且下一次对 MoveNext 或 Reset 的调用将引发 InvalidOperationException。如果在 MoveNext 和 Current之间修改集合,那么即使枚举数已经无效,Current 也将返回它所设置成的元素。
枚举数没有对集合的独占访问权;因此,枚举通过集合在本质上不是一个线程安全的过程。即使一个集合已进行同步,其他线程仍可以修改该集合,这将导致枚举数引发异常。若要在枚举过程中保证线程安全,可以在整个枚举过程中锁定集合,或者捕捉由于其他线程进行的更改而引发的异常。
--------------------------------大家晚上好--------------------------------
只需要把foreach改为for来遍历就好了。有几个画图的错我忘了。。。今天先写这么多好了
4.Unrecognized attribute 'targetFramework'.
这个错误发生在网站发布过程中,即分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
问题在今天(2014-11-25)上线的时候发生的,原因是IIS应用程序池的.NET CLR version配置错误。
(PS:超链接中对于上线过程中出现的一些未知概念有相应解释,诸如w3wp.exe等。)

通常一个网站对应一个与网站同名的应用程序池,IIS的应用程序池.NET CLR版本应当与开发使用的.NET CLR版本一致。
本机上一般是2.0版本,开发时使用的版本通常较高,从而导致不匹配。参考
5.Object moved to here
使用Response.Redirect()方法时,如果传入的是null或者“”,在页面上就会显示Object moved to here。
这是因为服务器返回给浏览器一个302指令要求重新跳转,但是并没有发给其要跳转的url,浏览器不知道要跳转到哪里。参考
14.C#/.NET编程中的常见异常(持续更新)的更多相关文章
- 3.C#/.NET编程中的常见异常(持续更新)
1.Object reference not set to an instance of an object. 未将对象引用(引用)到对象的实例,说白了就是有个对象为null,但是你在用它点出来的各种 ...
- T-SQL编程中的异常处理-异常捕获(catch)与抛出异常(throw)
本文出处: http://www.cnblogs.com/wy123/p/6743515.html T-SQL编程与应用程序一样,都有异常处理机制,比如异常的捕获与异常的抛出,本文简单介绍异常捕获与异 ...
- T-SQL编程中的异常处理-异常捕获(try catch)与抛出异常(throw)
本文出处: http://www.cnblogs.com/wy123/p/6743515.html T-SQL编程与应用程序一样,都有异常处理机制,比如异常的捕获与异常的抛出(try catch th ...
- R语言编程中的常见错误
R语言编程中的常见错误有一些错误是R的初学者和经验丰富的R程序员都可能常犯的.如果程序出错了,请检查以下几方面. 使用了错误的大小写.help().Help()和HELP()是三个不同的函数(只有第 ...
- java常见异常(更新中)
Java的异常分为两种,一种是运行时异常(RuntimeException),一种是非运行异常也叫检查式异常(CheckedException) .NullPointerException 空指针异常 ...
- Vue.js2.0中的变化(持续更新中)
最近自己在学习Vue.js,在看一些课程的时候可能Vue更新太块了导致课程所讲知识和现在Vue的版本不符,从而报错,我会在以后的帖子持续更新Vue的变化与更新,大家也可以一起交流,共同监督学习! 1. ...
- Type Script在Visual Studio 2013中的问题汇总(持续更新…)
TypeScript在vs2012下的问题 TypeScript对VS2012支持度比较低,建议升级为VS2013版本以上. 在VS2013中无法创建TypeScript项目 VS2013默认不支持T ...
- Java中的常见异常
非检查异常:Error 和 RuntimeException 以及他们的子类.0错误ArithmeticException,错误的强制类型转换错误ClassCastException,数组索引越界Ar ...
- windows 编程中的常见bug
错误 1 : error LNK2001: 无法解析的外部符号 _WTSQueryUserToken@8 解决办法: ——>查看链接器->输入->附加依赖项,依照debug模 ...
随机推荐
- css 选择器;盒模型
一.引入方式:(1)CSS 层叠样式表 作用:修饰网页结构 (2)css的三种引入方式 - 行内样式 注意:行内样式的优先级是最高的 - 内接样式 - 外接样式 二.css选择器 基础选择器 * 通配 ...
- CF431B Shower Line
Many students live in a dormitory. A dormitory is a whole new world of funny amusements and possibil ...
- bashrc 与 profile 环境变量
profile 和 bashrc profile只在登陆的时候使用一次(当我们使用远程登陆上),而bashrc在每次新打开一个bash的时候都会执行(相当于path环境(登陆上了每次打开终端)) pr ...
- ssm中实现excle导入导出
1 pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-oox ...
- mysql 字段类型VARCHAR转换成DECIMAL
在我们写代码的实际业务中,有时候实体类用的是String,数据库中自然是VARCHAR类型,但是如果这个实体的属性值放的是数字类型,你查询的时候又需要对它进行排序.sql怎么写呢. 别担心mysql提 ...
- 对DeepLung数据预处理部分的详细展示
之前有解释预处理部分的函数,不过觉得还不够详细,同时文字解释还不够直观,所以现在想一步步运行下,打印输出 首先读取原始数据,包括相应的注释(即结节标签)[注意]注释文件中的标签是按x,y,z的顺序给的 ...
- Mybatis-plus多表关联查询,多表分页查询
学习plus真的觉得写代码真的越来越舒服了.昨天开始接触吧,只要学会了多表关联查询.plus就能随意搭配使用了. 关于怎么搭建的就自行了去研究了哦.这里直接进入主题. 我用的是springboot+m ...
- C语言之对指针概念的初步探究
指针?什么是指针? 指针(pointer)是一个值为内存地址的变量(或数据对象). 接下来从变量的角度分析: 变量有两个属性,一个是地址,一个是值. 指针与普通变量的不同之处在于:指针变量的值是一个内 ...
- python基础之1--Python入门
第1章 Python生态圈 第2章 编程与编程语言 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 2.1 编程的目的: 计算机 ...
- source vs export AND ctrl d vs ctrl z
在脚本中export,只在当前shell脚本进程和子进程中有效 source的作用中是将export的变量在当前脚本环境生效, 如果是在父脚本中执行source,在子脚本中执行export, 父脚本退 ...