2012-06-11 7 views
12

を最適化されているので、式を評価することができませんコードが最適化またはネイティブフレームが上になっているので、私は式を評価することができませんエラー:コードは

を読み、私のasp.netアプリ」のエラーを取得していますコールスタック。 SOを検索した後、ほとんどの同様の投稿にはresponse.redirectが含まれています。私のコードはserver.transferを使用しており、私のアプリケーションはMaster Pagesも使用しています。

この問題を解決するにはどうすればよいですか?

更新:何かの理由で、私はResponse.Redirectも使用しています。残念ながら、Server.Executeは呼び出しページを最後に呼び出すため、Server.Executeは使用できません。

+0

例外をスローするコードを投稿できますか? – davioooh

+0

ええと...私の場合、問題は 'Response.End'によって引き起こされました...しかし、あなたのコードを見ることは、この問題の原因が何であるかを言うことは非常に難しいです... – davioooh

答えて

13

あなたはエラーになりますが、意志のトラップ以下のコードブロックは、あなたの生活に取得することができます。

これを試してください。私はMS検定を使用してマルチスレッドアプリケーションの動作をテストしたとき

using System.Threading.ThreadAbortException; 

catch(ThreadAbortException ex) 
{ 
    throw; 
} 
+0

これを追加しましたが、同じエラーが表示される –

10

あなたが記述問題は、ここに示されているようなデザインであるように思わ:

Server.Executeを使用して

http://support.microsoft.com/kb/312629/EN-US/

+0

あなたのリンクの情報は.net 1.0を示します&1.1フレームワーク。私は4.0フレームワークを使用しています。私はこの問題が8年後に解決されると思います。 – DotNetRookie

+7

@DotNetRookieマイクロソフトでは問題を解決していないため、「既知の問題」としてマークしています。:) – davioooh

+0

server.executeの問題は、呼び出し元のページに戻るということです。私は現在、server.transferを行うコードを持っているので、私は同じコーディング戦略に固執できるかどうかを見たいと思っています。 http://techahead.wordpress.com/2007/10/14/aspnet-servertransfer-vs-serverexecute/ – DotNetRookie

2

はあなたがresponse.redirect()server.transferを交換しようとした持って問題を解決する必要がありますか?

Server.Transfer VS Response.Redirect

+0

アプリケーションには現在server.transferを使用するコードがありますもはやここにはありません)、私は現在のアーキテクチャと一貫性を保つ必要があります。 – DotNetRookie

1

私はこのメッセージに直面しました。

これは、テストのメインスレッドが終了してオブジェクトのクリーニングが初期化され、無限に実行される他の作成スレッドがまだ動作していたためです。

乳首クリーンアップメソッドはオブジェクトを殺すので、これらのスレッドは上記のメッセージを表示して中止されます。