【问题标题】:Error: Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack错误:无法评估表达式,因为代码已优化或本机框架位于调用堆栈顶部
【发布时间】:2011-01-17 16:22:53
【问题描述】:

我在 c# 中遇到以下异常:无法计算表达式,因为代码已优化或本机框架位于调用堆栈顶部

从 Web 应用程序中的流读取器调用 ReadToEnd() 方法时。

如果我在控制台应用程序中复制并粘贴相同的代码。它有效。

任何想法

干杯

【问题讨论】:

    标签: c# stream webrequest streamreader


    【解决方案1】:

    这不是一个例外,只是来自调试器的警告,它无法向您提供您要求的信息。那个会发生。请确保您已正确设置断点,并且没有使用 Debug + Break All 进入非托管代码。

    【讨论】:

    • 好的,我会检查的。如果它确实属于不受管理或本机代码会发生什么?以及如何忽略此异常并继续执行。此消息后代码停止执行
    • 好吧,这意味着当我在发布模式下发布时,这条消息不会出现,因为调试器不会出现。顺便说一句,有时它会成功执行该方法,有时它不会。
    【解决方案2】:

    也许你正在一个 web 方法(服务)中执行这个代码,比如 页面方法。

    当流完成读取时,它将缓冲区发送给客户端..但是没有客户端将缓冲区发送给..然后发生此异常。

    当我尝试使用网络方法下载文件时,它发生在我的代码中。

    【讨论】:

      猜你喜欢
      • 2012-07-11
      • 2012-10-22
      • 1970-01-01
      • 2017-06-02
      相关资源
      最近更新 更多