2

「IsolatedStorage へのアクセス中にエラーが発生しました」のように聞こえます。しかし、msdn にはそのような例外はありません: http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefile.getlastaccesstime(v=vs.110).aspx

Task.Factory.StartNew() 内で呼び出していることが原因である可能性があると思います。それは理由になるでしょうか?wp8で問題なく動作します。

編集:

問題は、私が使用GetLastAccessTime(cacheFileName).Millisecond;したことでした.Agatのリンクで言われているように、wp7ではミリ秒は常に0です。または、実際には、それらにアクセスしようとして例外がスローされているため、それらは利用できません。したがって、ミリ秒を使用しないでください。それだけです。

4

1 に答える 1

3

それができるかどうかだけ尋ねたら?私はむしろ「はい、可能です」と答えたいと思います。一般的には、次の理由によります

異なるスレッド間でローカル フォルダーへのアクセスを同期するには、Mutex クラスを使用することをお勧めします。ミューテックスは、共有リソースへの排他的アクセスを 1 つのスレッドのみに許可します。1 つのスレッドがミューテックスを取得すると、そのミューテックスを取得しようとする 2 番目のスレッドは、最初のスレッドがミューテックスを解放するまで中断されます。たとえば、ミューテックスを使用して、フォアグラウンドで実行されている Windows Phone アプリとバックグラウンド エージェントの間でフォルダーへのアクセスを同期できます。

しかし一方で、例外が頻繁に発生する場合は、他にもいくつかの理由が考えられます。Windows Phone 7 での GetLastAccessTime メソッドの特定の機能についての手がかりを得ることができるこのリンクをご覧ください。

于 2013-11-09T22:02:03.217 に答える