今天发现这样一个问题:

同样的一段代码放在不同的Web应用程序下,结果输出的错误信息不同。

Asp.aspx.cs页面源码:

        protected void Page_Load(object sender, EventArgs e)

        {

            try

            {

                throw new Exception();

            }

            catch (Exception ex)

            {

                Response.Write(ex.StackTrace);

            }

        }

 

区别在于:

一个项目(项目A)abc.aspx的输出为:

A.abc.Page_Load(Object sender, EventArgs e) 位置 E:\ResearchChina\SurveyLeague\SurveyLeague.Center\zT.aspx.cs:行号 16

另一个项目(项目B)abc.aspx的输出为:

B.abc.Page_Load(Object sender, EventArgs e)

 

我们发现项目B的输出的错误信息里没有包含行号,这让人很费解。

重启iis,重新生成项目都不管用。后来我把项目B的源码复制一份,把其中的所有除仅仅包含上面那段代码的页面删除后,还是不管用。最后只剩下Web.config文件了,我把Web.config文件的空行删掉几行,保存文件,仍然不显示行号。再后来我把Web.config文件中的“<directoryBrowse enabled="true" />”这行代码注释下,再刷新下abc.aspx,终于出现行号了。但是我再取消“<directoryBrowse enabled="true" />”这行代码的注释,行号依然会显示。虽然问题解决了,可是具体原因不明。

 

 

 

相关文章:

  • 2021-08-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-25
猜你喜欢
  • 2022-12-23
  • 2021-06-01
  • 2021-10-20
  • 2022-12-23
  • 2022-01-13
  • 2021-06-24
  • 2022-03-03
相关资源
相似解决方案