如何处理:System.Runtime.InteropServices.COMException (0x800700AA): 请求的资源在使用中

xiaoyanwei2000 2009-11-23 10:19:24
我做的是cs程序,程序录制视频,录制失败就给值班人员发短信,程序中使用了WebBrowser控件。
程序开始运行没有问题,但运行一段时间就不行了,日志如下
2009-11-17 11/17/2009 07:28:16
Timer.MyTimerCallback => MainFrom.RunTimeingClose => MainFrom.IsWinRec
message:E:\TESTTV\20091117gj.rm文件录制失败
错误描述:System.Runtime.InteropServices.COMException (0x800700AA): 请求的资源在使用中。 (异常来自 HRESULT:0x800700AA)
在 System.Windows.Forms.UnsafeNativeMethods.IWebBrowser2.Navigate2(Object& URL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)
在 System.Windows.Forms.WebBrowser.PerformNavigate2(Object& URL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)
在 System.Windows.Forms.WebBrowser.PerformNavigateHelper(String urlString, Boolean newWindow, String targetFrameName, Byte[] postData, String headers)
在 System.Windows.Forms.WebBrowser.Navigate(String urlString)
在 Calendar.MainFrom.SendSmsRec()
在 Calendar.MainFrom.IsWinRec(String filename, String fid)
此问题该如何解决?
...全文
2928 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyanwei2000 2009-11-23
  • 打赏
  • 举报
回复
我该锁定那一个personlist,modelConfig还是webBrowser1?
NY2T93 2009-11-23
  • 打赏
  • 举报
回复
顶一下
xiaoyanwei2000 2009-11-23
  • 打赏
  • 举报
回复
person 是自定义的类,在代码中访问的公共资源有personlist,modelConfig,需要都锁定吗?
xiaoyanwei2000 2009-11-23
  • 打赏
  • 举报
回复
        private void SendSmsRec(string fileName)
{
if (modelConfig.IsShotMsg) //开短信发送
{
if (perList.Count == 0)
return;
foreach (Person p in perList)
{
string content = "值班员 " + p.Name + ":你好! " + fileName + " 录制失败!本消息来自视频采集任务管理系统(" + DateTime.Now + ")请做好值班工作,信息化办公室发";
string address = "http://" + modelConfig.ShotMsgHost + "/sms/smsSendInterface.do?tel=" + p.Tel + "&userName=VideoCap&userPass=capvideo&content=" + content;
if (String.IsNullOrEmpty(address)) return;
if (address.Equals("about:blank")) return;
if (!address.StartsWith("http://")) address = "http://" + address;
try
{
webBrowser1.Navigate("about:blank");
webBrowser1.Navigate(new Uri(address));
}
catch (System.UriFormatException ex)
{
log.Error("文件录制失败\r\n错误描述:" + ex);
return;
}
}
}
}
这是发送短信的代码,大家看看
xiaoyanwei2000 2009-11-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 nahaitao 的回复:]
我以前碰到这种问题过,那是因为出现了多个线程同时访问一个资源;我在这个资源上加上锁,或者别的线程同步的方法,就没问题了;

你这里估计也是这种问题;你可能是在别的线程中反问主线程中的资源了
[/Quote]
确实是用到多线程了,看看~
nashina 2009-11-23
  • 打赏
  • 举报
回复
我以前碰到这种问题过,那是因为出现了多个线程同时访问一个资源;我在这个资源上加上锁,或者别的线程同步的方法,就没问题了;

你这里估计也是这种问题;你可能是在别的线程中反问主线程中的资源了
netstray 2009-11-23
  • 打赏
  • 举报
回复
我也帮你顶一下
sundotLei 2009-11-23
  • 打赏
  • 举报
回复
如果代码中使用了thread的话,操作资源时记得lock
sundotLei 2009-11-23
  • 打赏
  • 举报
回复
检查下这两个方法中的代码

Calendar.MainFrom.SendSmsRec
Calendar.MainFrom.IsWinRec
sundotLei 2009-11-23
  • 打赏
  • 举报
回复
根据错误信息理解,可能是代码中的某个模块使用资源后没有及时释放,导至其它模块未能正常使用资源.
xiaoyanwei2000 2009-11-23
  • 打赏
  • 举报
回复
分少了可以在加,我还是比较大方的
xiaoyanwei2000 2009-11-23
  • 打赏
  • 举报
回复
自己顶顶
xiaoyanwei2000 2009-11-23
  • 打赏
  • 举报
回复
来人呀~~
CXSilence 2009-11-23
  • 打赏
  • 举报
回复
学习,先帮顶起来……

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧