के लिए marshalled किया गया था मैं C#/XAML का उपयोग कर विंडोज 8 एप्लिकेशन पर काम कर रहा हूं। इस घटना हैंडलर को छोड़कर सबकुछ काम कर रहा है जहां मुझे इस लाइन पर निम्न त्रुटि मिलती है।विंडोज 8 ऐप एप्लिकेशन को एक इंटरफ़ेस कहा जाता है जिसे एक अलग थ्रेड
await RefreshUserInfoAsync();
आवेदन एक अंतरफलक है कि एक अलग थ्रेड के लिए मार्शल किया गया था बुलाया। (HRESULT से अपवाद: 0x8001010E (RPC_E_WRONG_THREAD))
यह अवलोकन संग्रह ऐप क्लास में पुश अधिसूचना हैंडलर से अपडेट किया जा रहा है और यह ईवेंट हैंडलर मेरे दृश्य मॉडल में है। मैं एमवीवीएम लाइट जैसे किसी भी ढांचे का उपयोग नहीं कर रहा हूं। मैंने इस पर कुछ अन्य पोस्टों को देखा और अपना खुद का डिस्पैचर हेल्पर बनाने की कोशिश की लेकिन मुझे एक अलग त्रुटि मिली जहां विंडो। वर्तमान। डिस्पैचर शून्य है। कोई विचार यह काम कैसे करें?
पाठ
private async void PushActions_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { string action = e.NewItems[0] as string; if(action != null) { await RefreshUserInfoAsync(); } } private async Task RefreshUserInfoAsync() { var userInfos = await SessionRepository.GetSessionUsersWithInfoAsync(SessionGuid, RoundGuid); this.UserInfoList = new ObservableCollection<UserInfo>(userInfos); }
मेरे लिए काम नहीं करता है। वीएस किसी कारण से 'प्रतीक्षा' नहीं पहचानता है। मैं विंडोज 8 एसडीके के साथ एमएस सतह के लिए विकास कर रहा हूँ। – Howie
क्या आपके विधि हस्ताक्षर में एसिंक है? सार्वजनिक एसिंक कार्य GetCustomersAsync()। यदि ऐसा होता है, तो आप किस ढांचे का उपयोग कर रहे हैं? 4.5? यदि यह एक पीसीएल में है और आपने Win8 से कम कुछ चुना है तो यह वापस 4.0 पर वापस आ सकता है। मुझे लगता है कि 4.0 पुस्तकालयों में async/प्रतीक्षा करने के लिए एक गूंज पैकेज है। –
MikeDouglasDev
एक आकर्षण की तरह काम किया, बहुत बहुत धन्यवाद! – cesarferreira