2011-02-03 4 views
1

Silverlightプラットフォーム用にプログラミングする場合、同じユーザーが開始したイベントの直後に、ユーザーの開始を必要とする2つの関数を呼び出すことができません。Silverlight 'user initiated'セキュリティ機能が説明されました

たとえば、同じボタンクリックイベントでIsolatedStorage.IncreaseQuotaToおよびSaveFileDialog.ShowDialogを呼び出すとします。私は、IncreaseQuotaTo呼び出しが行われた場合、showdialog(またはopenfile)呼び出しが「ユーザーが開始しなければならない」例外をスローするため、私はできません。問題は、ユーザーが開始した関数ですが、その前にユーザーが開始した関数を呼び出す点が異なります。

ユーザーが開始したイベントでは、私が望むようにこれらの「ユーザーが開始しただけの」機能の多くを呼び出すことができますが、私は1つに制限されています。 Silverlightはこれらの関数の呼び出しスタックを監視しており、1つしか実行されないようにしているようです。

これはバグですか?

答えて

1

designed。 ;-)

+1

+1。タイムアウトは、あなたの質問に本当に関係するビットです。基本的に、Iso Store Increase QuotaダイアログでOKをクリックすると、タイムアウトが期限切れになる可能性があります。そのため、SFD.ShowDialogはタイムアウトを過ぎています。 これは意図的なものです。たとえば、「ああ何でも、確か」という言葉が一例になるまで、数十のクォータ増加プロンプトが表示されているユーザーをスパムすることはできません。だから、コール数よりも時間がかかるので、これらのコールのほとんどにUIが関与しているため、タイムアウトに十分な時間がかかります。 –

+0

@Austin:ポイント4もかなり関連性があります。 – AnthonyWJones

+1

私が前に出会ったことのない銀色のPMの良いブログ記事。その理由から、私はダウンボートに抵抗するでしょう。しかし、単純な "これを読む"答えは、通常、私からdownvoteを取得します。 – AnthonyWJones

関連する問題