以下是场景:
我们有一个运行在服务器上的ASP.NET驱动的内容管理系统,它是由第三方构建的,因此不幸的是,对于这个问题来说,它必须被认为是一个‘黑盒’。我对它的工作原理知之甚少。它的Windows 2008和IIS 7。
几个星期后,它就会正常工作,然后突然间,当有人试图访问页面时,它就会开始返回这个.NET解析器错误:
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Cannot execute a program. The command being executed was
"C:\Windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe" /noconfig
@"C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\7082fc73\4a06ea64\iscamrh7.cmdline".
Source Error:
Line 69: <!--<%@ Register Src="/web/ContentLibrary/Section/section125.ascx" TagName="section125" TagPrefix="uc1" %><uc1:section125 ID="section125" runat="server" />-->
Line 70: <%If useAltStyles Then %>
Line 71: <%@ Register Src="/web/Tags/tag46.ascx" TagName="tag46_14" TagPrefix="uc14" %><uc14:tag46_14 ID="tag46_14" runat="server" />
Line 72: <%Else %>
Line 73: <%@ Register Src="/web/Tags/tag41.ascx" TagName="tag41_16" TagPrefix="uc16" %><uc16:tag41_16 ID="tag41_16" runat="server" />这条消息提到它“不能执行”vbc.exe,我知道它与编译aspx页面有关。从它引用的源代码行来看,当它试图在页面上使用@Register自定义控件时,就会发生这种情况。
有没有人对可能导致这种情况的原因有任何提示或预感?例如,这是服务器资源不足时发生的事情吗?
发布于 2010-07-15 01:13:49
对于将来的参考,它被证明是由于网站正在使用的COM组件中的内存泄漏而导致的内存短缺。
在内存泄漏得到解决之前,对应用程序池回收设置设置内存限制被证明是一种临时修复方法。
发布于 2010-07-06 20:39:00
我不知道下面的错误是由复制/粘贴引起的,还是被异常消息截断的,但是当我在新页面中复制粘贴您的aspx代码时,我首先得到一个编译时错误,我的" if“必须由"End If”终止,但我不明白这怎么会导致您收到这样的消息。(使用ASP.NET开发服务器、ASP.NET 2.0Web项目中的VS2010进行了测试)
让我印象深刻的第二件事是这条线
<!--<%@ Register Src="/web/ContentLibrary/Section/section125.ascx" TagName="section125" TagPrefix="uc1" %><uc1:section125 ID="section125" runat="server" />-->
虽然注释仍然需要section125.ascx控件才能存在。会不会是这个错误是在section125.ascx控件内部产生的?
您可以尝试删除注释的@Register语句吗?
https://stackoverflow.com/questions/3185578
复制相似问题