代码被陷在插入查询

我运行一个Windows窗体基本应用程序,我使用的后台工作类HttpWebRequest的。 并使用WebBrowser控件,两者都将数据保存到一个Excel工作表。 这是工作的罚款或者是运气,现在我看到一段代码被卡住的INSERT语句,它只是在

myCommand.ExecuteScalar();

有一段时间我看到这个以后不出来。而:

在CLR一直无法从COM上下文0x7833a8过渡到COM环境0x7838b0 60秒。 拥有目标上下文/公寓线程是最有可能要么做一个非抽水等待或处理一个很长的运行操作,而抽水Windows消息。 这种情况一般具有性能产生负面影响,甚至可能导致应用程序变得无响应或内存使用量随着时间的推移不断积累。 为了避免这个问题,所有单线程单元(STA)线程应该使用抽水等待原语(如CoWaitForMultipleHandles),并在长时间运行的操作常规泵的消息。

它卡住查询是:

try { myCommand.CommandText = "Insert into [outputsheet$] (website,[facebook page],DealTitle,Dealtime,Dealprice,Dealvalue,Dealdiscount,Dealsaving,Linktitle,address,Category,[Type of Deal]) Values('" + webaddress.Replace("'", "''") + "','" + facbookaddress.Replace("'", "''") + "','" + title.Replace("'", "''") + "','" + dealtime.Replace("'", "''") + "','" + amount.Replace("'", "''") + "','" + value.Replace("'", "''") + "','" + discount.Replace("'", "''") + "','" + saving.Replace("'", "''") + "','" + titleweb.Replace("'", "''") + "','" + address.Replace("'", "''") + "','" + categoryName.Replace("'", "''") + "','Now Deals')"; myCommand.ExecuteScalar(); } catch (Exception exp) { }

请帮忙,有什么我需要做的。如何避免它。 谢谢

--------------解决方案-------------

它可能有一些做与MDA,如在此Microsoft论坛的帖子显示(几个帖子下来,种得鱼它):http://social.msdn.microsoft.com/forums/en-US / vsdebug /线程/ 8e04941e-32e1-4901-b360-4859106a5412

或许你可以尝试在锁定()封装的ExecuteNonQuery避免发送到Excel而这是忙于前一个请求的可能性?

编辑:例如

如果你的代码,不会插入被封装在一个类中,你会做这样的事情:

static private object thisLock = new object();

然后:

lock(thisLock)
{
myCommand.ExecuteNonQuery();
}

我没有做了很多多线程的,所以我可能会这样离谱。

分类:C# 时间:2012-01-01 人气:0
本文关键词: Visual Studio 2010中
分享到:

相关文章

  • Visual Studio 2010中 - 任何像TextMate的CMD + T的功能? 2012-01-03

    有什么样TextMate的Command + T键功能在Visual Studio 2010中提供? 第三方插件的建议表示欢迎. --------------解决方案------------- 尝试 CTRL +,(逗号),然后键入您的文件/类/方法名 希望这可以帮助 我刚刚划破我自己的痒,并提出了复制TextMate的"转至文件"功能完全,用模糊搜索沿延伸:https://github.com/maxt3r/VS-CmdT 这个问题好像是问同样的事情. 也许你可以找到一些建议那里.

  • 解决方案文件夹没有出现在Visual Studio 2010中 - 我怎样才能使之可见? 2012-01-05

    我创建了Visual Studio 2010的一个新的空白解决方案,然后我做了一个添加新项目,以及解决方案节点不再显示在Solution Explorer. 此外,当我尝试做了第二次添加新项目,我得到的错误: 不能添加的项目,因为该项目将其添加到是没办法的文件夹或解决方案. 发生了什么事解决方案节点? 它在哪里,这样我就可以选中它,第二个项目添加到我的解决方案? --------------解决方案------------- 工具,选项,项目和解决方案,选中"总是显示解决方案" 琐碎的

  • 如何设置在通用测试的(Visual Studio 2010中)的相对路径的工作目录和摘要结果文件 2012-01-06

    如何设置工作目录和摘要结果文件一般测试的(Visual Studio 2010中)的相对路径? 据我看了看有没有办法在通用测试编程设置这些位置,因为通用测试只有属性页,没有页面写C#代码. 我有一个文件夹结构如下 C:\文件\ GenericTestFolder \ generictest.sln C:\文件\ SummaryFiles \ summary.xml 现在我需要工作目录设置为以下(运行外部程序)C:\文件\ 及摘要结果文件的位置:C:\文件\ SummaryFiles \ summ

  • 我怎么能检查我是在购买Visual Studio 2010中提供的许可证密钥专业是有效的 2012-01-06

    我很担心,我付出了很多钱了Visual Studio 2010中教授从第三方供应商. 我输入密钥,这一切似乎但是工作启动时程序它说,它是授权给'微软',而不是我. 我已经售出了错误的'联合国. --------------解决方案------------- 您正在使用的Windows 64位版本? 有对这种系统的许可信息的已知问题. 要解决这个问题,我们必须按照下面的步骤. 这是一个两步骤的过程. 首先注册表需要修改,​​这将显示在帮助关于对话框中的数据. >然后,我们必须遵循下一组过程中登记的

  • 在Visual Studio 2010中使用预处理器指令用C# 2012-01-07

    我有我与Visual Studio 2010中建立一个C#应用程序来帮助我,我的一些在应用程序的日常任务,我想设置一些值,如果我编译在调试模式下的应用程序. 当然,我虽然预处理指令将是一个不错的主意. 我的问题是,我不太明白如何使用它们. 在这个时候,我有一个代码块看起来像这样: #define DEBUG ... // Other code in my app #if DEBUG myVariable = debugValue; #endif 我的问题是,当我编译我的应用程序在发布模式,MYV

  • Visual Studio 2010中的错误微软的Visual Studio遇到了问题,需要关闭 2012-01-08

    原标题:Visual Studio 2010中的错误 你好, 我已经安装了Visual Studio 2010中,当我尝试启动以下消息崩溃一个新的项目: "微软的Visual Studio遇到了问题,需要关闭". 我搜索到一些日志文件,我发现这是一些DLL的不要在计算机上存在搜索. DLL的有: C:\ WINDOWS \ SYSTEM32 \ nvinit.dll C:\ Program Files文件(x86)的\ NVIDIA公司\ CoProcManager \ _etoure

  • 哪里是在Visual Studio 2010中重新启动图标? 2012-01-08

    在Visual Studio 2008中我经常使用的"重启"按钮,但它缺少在Visual Studio 2010,至少在Visual Web Developer中2010速成,我认为它在标准版一样好. 哪里是在Visual Studio 2010中重新启动图标? 添加: 好吧,我可以将其添加到"自定义",但添加后,它是灰色的,所以我不能使用它. 关闭Visual Studio和再次打开,还是灰色的, 我怎么可以启用它,这样我可以用它? --------------解

  • 加载.dll文件在Visual Studio 2010中使用 2012-01-09

    在这里完成福利局quesiton,但我是新的C#和Visual Studio 2010中. 如何加载.dll文件是在Visual Studio 2010中,所以我可以用自己的方式编写C#程序? 更具体地讲,我想写使用TweetSharp一个Twitter应用程序,将通过命令行运行. --------------解决方案------------- 假设这是一个.NET的DLL,右击特殊的"参考"文件夹在Visual Studio中的项目,然后选择"添加引用". 这应该

  • WPF ListView的 - 它是在Visual Studio 2010中更好吗? 2012-01-09

    我试着推行使用WPF的ListView项目的只读网格. 在我看来,这是一个设计和实施不当控制. (不像大多数WPF的我喜欢). 我遇到的具体问题: 不能使最后一列展开,以填补控制的宽度,而无需编写额外的非XAML代码. (见这个问题) 必须重写一些任意硬编码的值,以获得一个细胞模板实际填充单元的面积. (见本博客文章) 对我来说,这些都是非常明显的缺陷,这意味着该控件被送往通过到Visual Studio 2008. 有谁知道,如果这些都被定格在Visual Studio 2010中? ----

  • Visual Studio 2010中的MVC项目类型消失 2012-01-11

    我一直在使用Visual Studio 2010 RTM溢价超过一个月. 当我安装了它,我有窗户的全新安装. (没有测试版或以前版本的VS) 我一直在创造新的ASP.NET MVC2 C#项目,因为我安装了它. 我今天去创建一个新的MVC项目,我没有,作为一种选择了. 我去下的新项目部分不是新的网站部分. 我没有看到它列在C#或VB. 有没有办法让无需重新安装Visual Studio的那句话? --------------解决方案------------- 我有这个问题的LINQ to SQL

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.773 (s). 10 q(s)