苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper万能框架(V2.3-含.netcore) HttpHelper官方出品,无敌框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 最牛的爬虫类,没有爬不到只有想不到 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 1023|回复: 6

[其他] httpRequest.GetResponse线程过多时报错尝试读取或写入受保护的内存。

[复制链接]
发表于 2020-3-18 15:35:48 | 显示全部楼层 |阅读模式
httpWebRequest.GetResponse()在线程过多时报错“尝试读取或写入受保护的内存。这通常指指示其他内存已损坏。请问是什么原因导致的呢?网上大概查了一下说是有共用对象或者静态对象的时候如果后面的线程访问时前面刚好释放了才会报这个错,但是我在多线程里面没有公用静态对象呢?难道是httpWebRequest.GetResponse()这个方法里面本身有什么对象是共用的吗?调用之前有设置ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);

ServicePointManager.SecurityProtocol = spt;
这2句里面的ServicePointManager.ServerCertificateValidationCallback和ServicePointManager.SecurityProtocol是不是算共用的呢?请教哪位大佬下怎么解决这个问题呢?
找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2020-3-18 15:57:14 | 显示全部楼层
现在的问题是无法try catch捕获这种异常,如果可以捕获的话也就可以解决了
找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2020-3-18 15:58:22 | 显示全部楼层
现在的问题是无法try catch捕获这个异常,如果可以catch的话也就好办些了,当然如果能从根上解决就更好了
找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2020-3-21 10:50:55 | 显示全部楼层
这个异常可以捕获的吧,你把这个方法括在里面即可,我的Httphelper里没有用到静态化的东西,
找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2020-3-25 16:53:53 | 显示全部楼层
站长苏飞 发表于 2020-3-21 10:50
这个异常可以捕获的吧,你把这个方法括在里面即可,我的Httphelper里没有用到静态化的东西,

我是弄在try catch里面的,但是无法捕获,直接报错了,我直接弄的个httpWebRequest试的,没有用httphelper,回头我用httphelper试试看有没有区别
找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2020-4-17 11:49:11 | 显示全部楼层
站长苏飞 发表于 2020-3-21 10:50
这个异常可以捕获的吧,你把这个方法括在里面即可,我的Httphelper里没有用到静态化的东西,

困扰了一段时间,终于知道原因了,是窗体里面有个webbrowser导致的,虽然没有操作这个webbrowser,但是只要它存在,就很容易出现这个内存问题,没有webbrowser时就再多线程也没问题,看来webbrowser不太友好啊
找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2020-4-17 12:46:59 | 显示全部楼层
站长苏飞 发表于 2020-3-21 10:50
这个异常可以捕获的吧,你把这个方法括在里面即可,我的Httphelper里没有用到静态化的东西,

但是有个新问题来了,就是如果在项目中新建一个Form,里面包含webbrowser,如果通过之前的窗口打开这个form,即使打开后把那个新form里的webbrowser给dispose掉而且把新form也dispose掉,但也还是有同样问题,目前只能通过新开一个进程来打开然后关闭,这样好像很不方便呢
老大有没有什么好的解决办法可以在同一个项目中新开一个form但也能有效释放使其不会影响内存呢?
找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备17001017号-1)

GMT+8, 2020-8-14 12:19

© 2014-2021

快速回复 返回顶部 返回列表