2010-07-17 13 views
7

मैं एक विंडोज फोन 7 एप्लिकेशन का निर्माण कर रहा हूं जो पृथक भंडारण का उपयोग करता है। कोड समय के सबसे अधिक काम करता है, लेकिन मैं हो रही IsolatedStorageExceptions बेतरतीब ढंग से रखें:पृथक स्टोरेज त्रुटियां

{"An error occurred while accessing IsolatedStorage."} 

There are no further details about the reason for the exception. Here is the stack trace: 

    at System.IO.IsolatedStorage.IsolatedStorageFile.DeleteFile(String file) 
    at MyApp.Core.Data.WindowsPhoneFileRepository.DeleteFile(String name) 
    at MyApp.Core.Domain.ThingService.SaveThing(Thing Thing) 
    at MyApp.Core.Domain.TrackedThingService.PersistThingLocally(TrackedThing Thing) 
    at MyApp.Ui.ViewModels.TrackViewModel.<.ctor>b__3(Thing Thing) 
    at GalaSoft.MvvmLight.Command.RelayCommand`1.Execute(Object parameter) 
    at GalaSoft.MvvmLight.Command.EventToCommand.Invoke(Object parameter) 
    at System.Windows.Interactivity.TriggerAction.CallInvoke(Object parameter) 
    at System.Windows.Interactivity.TriggerBase.InvokeActions(Object parameter) 
    at System.Windows.Interactivity.EventTriggerBase.OnEvent(EventArgs eventArgs) 
    at System.Windows.Interactivity.EventTriggerBase.OnEventImpl(Object sender, EventArgs eventArgs) 
    at System.Windows.Controls.Primitives.ButtonBase.OnClick() 
    at System.Windows.Controls.Button.OnClick() 
    at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) 
    at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e) 
    at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName) 

फ़ाइल मौजूद है। मैं अपने सभी पृथक स्टोरेज को ब्लॉक का उपयोग करके अंदर रखता हूं इसलिए मुझे फ़ाइल कहीं भी नहीं खोलनी चाहिए।

इसका कारण क्या हो सकता है?

अपवाद के कारण के बारे में मुझे और जानकारी कैसे मिल सकती है?

उत्तर

0

यह अनदेखा नहीं किया जाना चाहिए कि WP7 अभी भी बीटा में है (आपने सीटीपी से बीटा संस्करण में अपडेट किया है?)।

एक बहुत ही सरल एप्लिकेशन बनाने पर विचार करें जो आपके मुख्य एप्लिकेशन को देखने के लिए पृथक भंडारण में हेरफेर करता है कि आप समस्या का एक छोटा रेपो बना सकते हैं या नहीं। ऐसा करने के बाद इसे माइक्रोसॉफ्ट को भेज दें ताकि वे इसे देख सकें।

+0

हां, मैंने बीटा संस्करण में अपडेट किया है। मैं इसे अंतिम उपाय के रूप में करूँगा। निश्चित रूप से अपवाद के बारे में अधिक जानकारी प्राप्त करने का कोई तरीका है। – chief7

+0

@ चीफ 7: जब आप ऐसा करते हैं तो आपत्तिजनक रेखा पर डीबगर स्टॉप है? – AnthonyWJones

+0

नहीं, लेकिन मैं एक जोड़ सकता हूं। – chief7

2

मैं विशेष रूप से यह सुनिश्चित करने के लिए जांच करता हूं कि आपने सभी पाठकों और लेखकों को उस फ़ाइल के भीतर कुछ भी बंद कर दिया है जिसे आप हटाने की कोशिश कर रहे हैं। मैं यह नहीं कह रहा हूं कि निश्चित रूप से इसे ठीक कर देगा, बल्कि मौजूदा फाइलों को हटाने में सक्षम नहीं होने के कारण खुले फाइलों के कारण होते हैं।

7

ब्लॉक का उपयोग वर्तमान में WP7 में फ़्लश/क्लोज़ स्ट्रीम की गारंटी नहीं है।

एसडीके उस बिंदु तक पहुंचने तक स्पष्ट रूप से सभी फ़ाइलों/धाराओं को बंद करें जब आप वास्तव में भरोसा कर सकते हैं! :)

+0

वास्तव में? यह बहुत समझाता है! और अब मुझे जाना होगा, क्योंकि मेरे पास बंद करने के लिए कई धाराएं हैं। मुझे बताओ मैं भरोसा कर सकता हूं धारा को फ्लश करने के करीब? –

+0

@ पीटर वोन: बंद स्पष्ट है, इसलिए आप इसे करने के लिए भरोसा कर सकते हैं * टिन * पर यह क्या कहता है। आम तौर पर कनेक्शन बंद करने के ब्लॉक का उपयोग करना, लेकिन ऑब्जेक्ट को इसका समर्थन करना चाहिए। याद रखें कि यह एक पुराना उत्तर है: जैसे ही कोई पुष्टि करता है कि यह तय हो गया है, कृपया यहां एक टिप्पणी जोड़ें! –

0

मुझे एक ही समस्या का सामना करना पड़ा।

मैंने सावधानीपूर्वक जांच की और एक ऐसी जगह पाई जहां मैंने फ़ाइलस्ट्रीम को बंद नहीं किया। इसे बंद करने के लिए यह समस्या हल हो गई।

संबंधित मुद्दे