C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

简介: 原文: C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。 今天打开一个之前写的程序,查询数据库资料,结果单击查询时出错,提示显示和ntdl.dll有关。
原文: C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

今天打开一个之前写的程序,查询数据库资料,结果单击查询时出错,提示显示和ntdl.dll有关。


用VS2012调试时发现在调用数据集时提示“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”


打开数据集选择预览数据时VS出错退出。


系统是Win7的,昨天更新过;切换到2003系统下则一切正常


经百度,找到解决办法:

用管理员身份运行CMD,输入netsh winsock reset并回车(注意,必须是已管理员身份运行,这个重置LSP连接)

http://www.cnblogs.com/xinzhyu/p/3505286.html


运行后提示要重启生效,结果没重启就OK了。记录下。


目录
相关文章
|
5月前
|
存储 Java C#
C# 中的值类型与引用类型:内存大小解析
C# 中的值类型与引用类型:内存大小解析
|
1月前
|
C# 开发工具 Windows
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
40 0
|
6月前
|
存储 C#
C# | 内存池
内存池可以复用已申请的内存空间,它在程序启动时预先分配一定数量的内存块,当你需要使用内存时,则会从内存池中分配一块空闲内存,也就是说并不是每次都会向系统申请一块新的内存空间。 同理,当你使用完一块内存空间后,并不是直接释放内存,而是将其归还到内存池中。内存池就是通过这样一借一还的方式避免了频繁地分配和释放内存,减少了内存碎片和系统开销,提高了程序的性能。
65 0
|
6月前
|
存储 Java C#
C# | 使用Memory<T>高效地读写内存数据
Memory<T>是什么? 它是一种可变大小、可读写的内存块,可以安全地暴露给用户代码进行操作。 为什么要使用Memory<T>? 使用它有许多好处。最主要的是善用它可以提高代码的性能。因为Memory<T>是可变的,所以我们可以直接在内存中操作数据,而不需要进行额外的拷贝操作。 使用Memory<T>还可以减少垃圾回收的压力,因为我们不需要创建新的对象来存储数据。 Memory<T>还可以与Span<T>和ReadOnlySpan<T>类型一起使用,这些类型可以方便地对数据进行访问和操作。
110 0
|
11月前
|
存储 Java C#
C# 垃圾回收机制(GC) 的概述 资源清理 内存管理
C# 垃圾回收机制(GC) 的概述 资源清理 内存管理
|
11月前
|
存储 C#
C# “值类型“和“引用类型“在内存的分配
C# “值类型“和“引用类型“在内存的分配
|
测试技术 C#
C#不通过byte[],直接对内存映射文件复制内存
C#不通过byte[],直接对内存映射文件复制内存
|
SQL 关系型数据库 API
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化(三)
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化(三)
|
SQL 存储 安全
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化(二)
基于C#的ArcEngine二次开发37:循环查询过程的内存管理与性能优化