以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]由于线程退出或应用程序请求,已中止 I/O 操作  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141690)

--  作者:new4w
--  发布时间:2019/10/8 17:35:00
--  [求助]由于线程退出或应用程序请求,已中止 I/O 操作
web界面里面含有图片

图片点击可在新窗口打开查看此主题相关图片如下:snipaste_20191008_173339.jpg
图片点击可在新窗口打开查看

2019-10-08 14:14:48.5396由于线程退出或应用程序请求,已中止 I/O 操作。     在 System.Net.HttpRequestStream.Read(Byte[] buffer, Int32 offset, Int32 size)     在 System.IO.BufferedStream.ReadByte()     在 Foxtable.RequestEventArgs.o 。。0_ .(Stream A_0)     在 Foxtable.RequestEventArgs.O。 0_o。.()  

能否确定是那个地方的问题?
[此贴子已经被作者于2019/10/18 13:25:18编辑过]

--  作者:有点蓝
--  发布时间:2019/10/8 17:46:00
--  
这种是读取本地文件出错,文件不存在,或者没有权限读取
--  作者:new4w
--  发布时间:2019/10/9 9:45:00
--  
那是用户手机端出问题?
--  作者:狐狸爸爸
--  发布时间:2019/10/9 9:59:00
--  
这个错误发生在服务端。
--  作者:new4w
--  发布时间:2019/10/17 18:29:00
--  
  e.SaveFile(key,fln, "D:\\FTP\\图片文件\\新客活动\\" &  wjm ) \'保存接收到的文件


这句代码会不会发生问题?

--  作者:new4w
--  发布时间:2019/10/17 19:00:00
--  
很可能是从相册里面选择出来的图片
--  作者:new4w
--  发布时间:2019/10/17 19:09:00
--  
是不是中文的图片路径? 或者并发太多? 今天错误197次,有成功的
--  作者:有点蓝
--  发布时间:2019/10/18 8:41:00
--  
SaveFile出错可能原因
1、如果带宽不够,图片大,并发又多,可能会导致网络阻塞,然后文件接受不完整,就会出现这种错误
2、检查磁盘是否满了

但是1楼的错误是读文件,而不是写文件,如果并发多,文件读也是会有冲突的

--  作者:new4w
--  发布时间:2019/10/18 9:55:00
--  
我接收网页用的是异步,应当跟并发没有关系
 Case "addnew1.htm","accept.htm","cg.htm","fdx.htm"
          e.AsyncExecute = True  \'通知系统,将采用异步方式生成网页
       Functions.AsyncExecute("add",e)

有没有办法在代码特定位置发生错误,然后输出错误信息,同时将服务器的错误信息忽略,以不影响进程,不影响其他用户使用
比如:

if 下面代码出现错误
输出错误信息到文本,同时忽略本次错误,结束当前进程
else 没有发生错误
不输出错误到文本
end if

。。。

这样我能判断出哪里发生了错误,然后再找问题

现在我是在项目事件 before show erriormsg 里面加的忽略错误信息
Functions.Execute("LogText",e.ex)
e.Cancel = True

[此贴子已经被作者于2019/10/18 9:56:38编辑过]

--  作者:有点蓝
--  发布时间:2019/10/18 10:01:00
--  
异步本身就和并发有很大关系。因为异步本身就是并发操作的。想想10个线程同时写同一个文件,或者同时读同一个文件。

捕捉异常目前只能使用BeforeShowErrorMessage项目事件,或者是try catch
[此贴子已经被作者于2019/10/18 10:00:52编辑过]