0

Silverlight では、無限再帰によってブラウザー全体がハングする場合があります。

public void SomeMethod()
{
    RecursingMethod1();
}

public void RecursingMethod1()
{
    ...
    RecursingMethod2();
    ...
}

public void RecursingMethod2()
{
    ...
    RecursingMethod1();
    ...
}

呼び出しSomeMethod()は無限再帰ループにつながります。.net フレームワークでは、System.StackOverflowException. Silverlight では、ブラウザーがハングするだけです (たとえば、Silverlight プラグインを含むタブを閉じることができない、別のタブに切り替えることができない、残された唯一のオプションはブラウザーを強制終了することです)。この状況では、Google Chrome のサンドボックスは役に立ちません。

典型的な状況は、イベントがイベント ハンドラーから呼び出される場合です。

Silverlight をスローさせる方法はありますSystem.StackOverflowExceptionか?

編集 1

単純な再帰の場合、プラグイン/ブラウザがクラッシュします。

イベントがイベント ハンドラから呼び出されると、ブラウザがハングします。この場合、実際の再帰はないように思われます。プラグイン/ブラウザのリソースをむさぼり食う無限ループだけです。例外をスローする方法はありません。

4

1 に答える 1

0

Silverlight プラグインは StackOverflowException をスローします。しばらくお待ちください。最終的に表示されます。

于 2013-03-01T19:51:01.717 に答える