当前位置:编程学习 > C#/ASP.NET >>

高手帮帮忙,尝试读取或写入受保护的内存。这通常指示其他内存已损坏。在线等待

我在asp.net中调用了VC++写的dll,函数原型为int sendcomm(int port,int type,int commond,char *senddata,char *& revdata);asp.net中调用后我声明为int sendcomm(int port,int type,int commond,byte[] senddata,ref string revdata),其中其中revdata是从串口获得的数据,共32字节,所以在获得数据以后,我又声明byte[] byteRevdata=new byte[32],byteRevdata=ASSICEncoding.GetBytes(revdata).跟踪调试,获得的最终数据没有问题,但有时会出现“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”。重启电脑后,第一次执行没有问题,关闭程序再启动就会出现上面的问题,或者显示“值超出索引范围”。
在网上找了很多资料也没有得到正解,请高手帮忙指点,项目要解题,发现这个问题,这两天已经头晕眼花,盼望中。 --------------------编程问答-------------------- 程序本身的问题。例如:数据库访问达到最大的并发量,出现死锁。或频繁的写入和读取操作,c#的垃圾回收机制造成的,即变量的回收速度大于使 用的速度造成。
使得内存资源没有及时释放导致此错误
调用API问题
--------------------编程问答-------------------- 按照楼上的指导,我每次访问数据库完毕都将资源全部释放,只是每次访问间隔会很短,还有你说的调用API的问题,不知道能不能给我讲的更明白一点,谢谢 --------------------编程问答-------------------- 参考这个 --------------------编程问答-------------------- 先谢谢楼上的 --------------------编程问答-------------------- 能不能给一个上面dll函数在asp.net中的正确调用?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,