using (EntityDataContext amdb = new EntityDataContext(StrConnectionString))
{
if (amdb.DatabaseExists())
{
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
if (!isoStore.FileExists(databaseName))
{
copyDatabase = true;
}
else
{
using (IsolatedStorageFileStream databaseStream = isoStore.OpenFile(databaseName, FileMode.Open, FileAccess.Read)) // error here
{
using (Stream db = Application.GetResourceStream(new Uri(databaseName, UriKind.Relative)).Stream)
{
if (databaseStream.Length < db.Length)
copyDatabase = true;
}
}
}
}
}
else
{
//error with the database that has been packaged
}
if (copyDatabase)
new Worker().Copy(databaseName);
}
-3
A
回答
0
0
從我可以告訴你試圖讀取數據庫文件,而你仍然打開數據庫連接。由於DataContext會鎖定數據庫(以及文件),因此不允許同時讀取它。
爲了關閉數據庫連接嘗試關閉EntityDataContext
對象(通過調用amdb.Close()
或關閉using語句
嘗試是這樣的:
bool shouldCopyDatabase = false;
bool databaseExists = false;
using (EntityDataContext amdb = new EntityDataContext(StrConnectionString))
{
databaseExists = amdb.DatabaseExists();
}
if (databaseExists == true)
{
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
if (!isoStore.FileExists(databaseName))
{
copyDatabase = true;
}
else
{
using (IsolatedStorageFileStream databaseStream = isoStore.OpenFile(databaseName, FileMode.Open, FileAccess.Read)) // error here
{
using (Stream db = Application.GetResourceStream(new Uri(databaseName, UriKind.Relative)).Stream)
{
if (databaseStream.Length < db.Length)
copyDatabase = true;
}
}
}
}
}
if (copyDatabase)
new Worker().Copy(databaseName);
通過移動獨立存儲訪問功能在using (EntityDataContext amdb = new EntityDataContext(StrConnectionString))
範圍之外,您允許首先關閉數據庫連接。
相關問題
- 1. IsolatedStorageFileStream不允許的操作
- 2. WP7 IsolatedStorageFileStream錯誤「IsolatedStorageFileStream不允許操作」
- 3. IsolatedStorageFileStream不允許操作
- 4. 不允許的操作上IsolatedStorageFileStream
- 5. 在IsolatedStorageFileStream上不允許操作。錯誤
- 6. Windows Phone中的IsolatedStorageFileStream不允許操作
- 7. 在IsolatedStorageFileStream錯誤中不允許操作
- 8. 錯誤「IsolatedStorageFileStream不允許操作」。 wp7
- 9. WP7 IsolatedStorage異常:{「IsolatedStorageFileStream不允許操作」}
- 10. IsolatedStorageFileStream不允許操作 - WP7 C#
- 11. IsolatedStorageFileStream不允許操作異常
- 12. 不允許在myStore.CreateFile(fileName)方法的IsolatedStorageFileStream上執行操作
- 13. Windows Phone 7在IsolatedStorageFileStream上不允許操作
- 14. 「不允許操作上IsolatedStorageFileStream」,而寫文件
- 15. 在IsolatedStorageFileStream上不允許操作。當使用MvvmCross文件插件
- 16. Windows Phone中的「IsolatedStorageFileStream不允許操作」問題
- 17. WP7異常錯誤 - IsolatedStorageFileStream不允許操作
- 18. 當檢索圖像時,IsolatedStorageFileStream不允許操作
- 19. IsolatedStorageFileStream不允許操作:Visual Studio 2010 Express for Phone
- 20. 問題當閱讀xml:「System.IO.IsolatedStorage.IsolatedStorageException:在IsolatedStorageFileStream上不允許的操作」(Windows Phone 8)
- 21. 獲取IsolatedStorageException:操作上IsolatedStorageFileStream
- 22. os.chroot不允許的操作
- 23. shmget的:操作不允許
- 24. MongoDB的操作不允許
- 25. 不允許的操作(1)
- 26. mknod的操作不允許
- 27. Redis的「操作不允許」
- 28. 拋出異常「IsolatedStorageFileStream不允許操作」當從isloated存儲中讀取
- 29. 鏈接()操作不允許
- 30. python操作不允許(graphtecprint)
異常是問題的標題, – 1Mayur
Eror發生在第一個t ime模擬器運行,之後,它運行良好,直到我關閉它 – 1Mayur
你應該包括這個問題本身的信息,而不只是發佈你的代碼。 **解釋**代碼試圖做什麼,出了什麼問題。 – ChrisF