ローカル マシンにデータを格納するために SQL Server Compact Edition 4.0 を使用する WPF アプリケーションがあります。Compact Edition 4.0 データベースからランダムではあるがかなり頻繁にクラッシュが発生しています。それは常に同じエラーを出します....
Attempted to read or write protected memory. This is often an indication that other
memory is corrupt.
...次の限られたスタック トレースを使用して...
at System.Data.SqlServerCe.NativeMethodsHelper.SafeRelease(IntPtr& ppUnknown)
at System.Data.SqlServerCe.SqlCeCommand.ReleaseNativeInterfaces()
at System.Data.SqlServerCe.SqlCeCommand.Dispose(Boolean disposing)
at System.Data.SqlServerCe.SqlCeCommand.Finalize()
すべての CE データベース呼び出しに使用する別のスレッドがあるため、すべてのデータベース呼び出しがシリアル化され (データベースへの同時呼び出しはありません)、それらはすべて同じスレッドで発生します。例外が発生すると、常に上記の詳細が表示されます。
再現性はありませんが、頻繁に発生するため、アプリケーションが 10 分以上の操作に耐えることはありません。最初の数秒でクラッシュすることもあれば、操作開始から 10 分ほどでクラッシュすることもありますが、ほとんどの場合、両極端の間のどこかです。
私はグーグルから有用なものを見つけることができないので、これが他の人が見たかもしれない問題であり、回避策があることを願っています. ありがとう。