首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误“故障应用w3wp.exe.”如果在循环中打印水晶报表,则在事件查看器中找到。

错误“故障应用w3wp.exe.”如果在循环中打印水晶报表,则在事件查看器中找到。
EN

Stack Overflow用户
提问于 2012-01-12 03:57:23
回答 1查看 3.7K关注 0票数 0

我正在使用VS.Net 2010 & embedded开发一个web应用程序,它将运行在MS 2008和IIS 7上。其中一个功能是更新数据库记录( ~20-50),并在一个for循环中将每个记录打印到网络打印机上。(由于业务需要,报表必须逐个打印)该功能在我的机器上运行良好。如果报表被打印到PDF打印机,它也可以在服务器上工作。

但是,如果将其打印到物理网络打印机上,则事件查看器在几个循环后提示标题错误;页面中没有返回任何异常,它只是在某个点停止,直到超时。

我在程序中添加了日志,发现循环可以在任何地方停止,即创建一个新的水晶报告,设置报表数据源,指定打印机名称,更新记录.

下面是打印报告的代码片段,非常简单:

代码语言:javascript
运行
复制
rptDoc.PrintOptions.PrinterName = strPrinterName;

rptDoc.PrintToPrinter(intPrintCopy, false, 0, 0);

如果上面的代码被注释,错误就不会再发生了,不管有多少记录,for循环每次都可以完成。

故障处理模块可以是ntdll.dll (大多数)、crpe32.dll、kernel32.dll、MSVCR80.dll等;下面是捕获的一些错误消息:

0x%10.

  • Faulting

  • 故障处理应用程序w3wp.exe,版本7.0.6001.18000,时间戳0x47919ed8,故障处理模块ntdll.dll,版本6.0.6001.18538,时间戳0x4cb73957,异常代码0xc0000005,故障偏移量0x00000000000000046ef0,进程id 0x%9,应用程序启动时间w3wp.exe,版本7.0.6001.18000,时间戳0x47919ed8,故障模块kernel32.dll,版本6.0.6001.18631,时间戳0x4da46d09,异常代码xe0434352,故障偏移量0x000000000000025efd,进程id 0x9c0,应用程序时间0x01ccd042bf90d940.

  • Faulting应用程序w3wp.exe,w3wp.exe。版本7.0.6001.18000,时间戳0x47919ed8,故障模块crpe32.dll,版本13.0.2.469,时间戳0x4eb91936,异常代码0xc0000005,故障偏移量0x00000000002948ea,进程id 0x%9,应用启动时间0x%10。

我不熟悉服务器和IIS的内容,但这似乎不是一个编程问题,因为它在计算机上运行良好。有人能给我点主意吗?

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2012-02-02 03:01:32

经过测试和测试,我发现这实际上是一个编码问题。一个泛型函数用于根据记录信息启动和返回报表文档对象(具有数据源集)。它在循环中使用,因此可能有太多的报表文档对象被启动并在IIS进程中崩溃。这很可能导致另一个水晶报告错误“最大报表处理作业限制”。然而,程序只是没有抛出这个错误。事件查看器中的错误也分散了我的注意力。

现在,为了解决这个问题,我在循环之前启动一个报告文档,在循环中更新它的数据源,并在循环之后处理它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8829931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档