2013-06-04 17 views
5

से डेटा पुनर्प्राप्त करने का प्रयास करते समय यह विधि मैं उपयोग कर रहा हूं।मोबाइल सेवा InnvalidOperationException Azure

try 
{ 
    List<Patient> pList = await App.MobileService.GetTable<Patient>().Where(
       patient => patient.id == 1).ToListAsync(); 
    foreach (Patient p in pList) 
    { 
     System.Diagnostics.Debug.WriteLine("{0}, {1}", p.id, p.first_name); 
    } 
} 
catch (Exception err) 
{ 
    System.Diagnostics.Debug.WriteLine("ERROR! : {0}", err.Message); 
} 

यहां रोगी इकाई है।

class Patient 
{ 
    public int id { get; set; } 
    public string first_name { get; set; } 
    public string last_name { get; set; } 
    public string middle_name { get; set; } 
    public string nirc { get; set; } 
    public int bed_id { get; set; } 
} 

यहां मुझे मिली त्रुटि है।

An exception of type 'System.Net.WebException' occurred in System.Windows.ni.dll and  wasn't handled before a managed/native boundary 
An exception of type 'System.Net.WebException' occurred in System.Windows.ni.dll and wasn't handled before a managed/native boundary 
An exception of type 'System.Net.WebException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary 
An exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.DLL and wasn't handled before a managed/native boundary 
An exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in Microsoft.Azure.Zumo.WindowsPhone8.Managed.DLL and wasn't handled before a managed/native boundary 
An exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary 
An exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary 
An exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary 
A first chance exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in mscorlib.ni.dll 
An exception of type 'Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary 

जब मैं एक TryCatch भीतर मेरे विधि लपेट, मैं इस संदेश को

Error : The request could not be completed. () 

यहाँ ढेर त्रुटि संदेश

at Microsoft.WindowsAzure.MobileServices.MobileServiceClient.CreateMobileServiceException(String errorMessage, IServiceFilterRequest request, IServiceFilterResponse response) 
    at Microsoft.WindowsAzure.MobileServices.MobileServiceClient.ThrowInvalidResponse(IServiceFilterRequest request, IServiceFilterResponse response, JToken body) 
    at Microsoft.WindowsAzure.MobileServices.MobileServiceClient.<RequestAsync>d__f.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at Microsoft.WindowsAzure.MobileServices.MobileServiceTable.<SendReadAsync>d__0.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at Microsoft.WindowsAzure.MobileServices.MobileServiceTable`1.<EvaluateQueryAsync>d__3`1.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at Microsoft.WindowsAzure.MobileServices.MobileServiceTableQuery`1.<ToListAsync>d__2.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at PhoneApp1.MainPage.<populate>d__0.MoveNext() 

कुछ बिंदुओं को नोट करने के लिए मिलता है।

  1. अनुमति Anybody with the Application Key
  2. पर सेट है मैं Windows Azure Mobile Services Managed Client
  3. के संदर्भ में मैं पहले से ही App.XAML.CS. के भीतर इस कोड डाल दिया जोड़ दिया है using Microsoft.WindowsAzure.MobileServices;
  4. मैंने ऐप.एक्सएएमएल.सीएस के भीतर this वेबसाइट से अधिग्रहित कोड का यह टुकड़ा पहले से ही रखा है।
    public static MobileServiceClient MobileService = new MobileServiceClient(AppUrl, AppKey);

क्यों मैं अपने डेटाबेस से कनेक्ट करने में असमर्थ हूँ? मैंने इन स्टोर को विंडोज स्टोर एप्लिकेशन पर चलाने का प्रयास किया है और यह काम करता है। पहले मैंने वही काम किया है और यह भी काम करता है।

उत्तर

3

This लिंक मुझे बचाया।

जाहिर है, मुझे बस सेवा पते को https से http में बदलना है। तो बजाय इस बात का,

public static MobileServiceClient MobileService = new MobileServiceClient( 
    "https://www.example.azure-mobile.net/", 
    "fjkdslajkfdlsref31321fgdsat34ajklfdslajfkldsa" 
); 

बदलें यह

public static MobileServiceClient MobileService = new MobileServiceClient( 
    "http://www.example.azure-mobile.net/", 
    "fjkdslajkfdlsref31321fgdsat34ajklfdslajfkldsa" 
); 

लिए समस्या को हल किया।

+2

यह समस्या को हल नहीं करता है, यह इसके आसपास काम करता है। यह HTTPS को अक्षम करता है जिसका अर्थ है कि आपका डेटा अब स्पष्ट टेक्स्ट में भेजा गया है - शायद एक अच्छी बात नहीं है। मेरे मामले में डिवाइस पर दिनांक/समय गलत था जिसने HTTPS को विफल कर दिया था। –

0

मैं अपनी कम प्रतिष्ठा के कारण टिप्पणी नहीं कर सकता, मुझे एक ही समस्या का सामना करना पड़ रहा है, लेकिन यह असंगत है।

यदि मैं अपने ऐप पर पंजीकरण पृष्ठ का उपयोग करने का प्रयास करता हूं जो एक एज़ूर मोबाइल सेवा को हिट करता है, कभी-कभी यह एक ही त्रुटि के साथ समाप्त होता है ("अनुरोध पूरा नहीं हो सका।()"), तो अगर मैं तुरंत पुनः प्रयास करता हूं यह बढ़िया काम करता है।

मैं एक वास्तविक विंडोज फोन डिवाइस का उपयोग कर रहा हूं और यह मेरे आईफोन के हॉटस्पॉट द्वारा प्रदान की गई वाई-फाई का उपयोग करके जुड़ा हुआ है जो वास्तव में 4 जी है इसलिए निश्चित रूप से कोई कनेक्शन समस्या नहीं है।

मैंने अन्य लेख पढ़े जो कहा कि इंटरनेट कनेक्शन उपलब्ध है या नहीं, यह जांचने का कोई मुद्दा नहीं है, बस डेटा को आजमाएं और भेजें और किसी भी मुद्दे से निपटें। मैं इस मुद्दे से निपटता हूं लेकिन मुद्दा नहीं होना चाहिए।

क्या आपको और अधिक समस्याएं मिलीं?

मैंने मोबाइल सेवा कनेक्शन के लिए https और http का उपयोग करने का प्रयास किया है, ऐसा कोई फर्क नहीं पड़ता है।

+0

क्या किसी के पास कोई विचार है? – xceed

2

अपने कंप्यूटर या डिवाइस पर दिनांक/समय की जांच करें। मेरे मामले में मैंने एक देव फोन पर काम किया था जो कुछ समय से बंद हो गया था और तिथि/समय पूरी तरह से गलत था। एचटीटीपीएस से HTTP तक एंडपॉइंट बदलने के दौरान समस्या के आसपास काम करता है, मेरे लिए उचित समाधान एचटीटीपीएस रखना और डिवाइस पर दिनांक/समय को ठीक करना था।

+0

यह सही उत्तर है। खराब परीक्षण डिवाइस की वजह से आपको https को अक्षम नहीं करना चाहिए। –

0

यदि कोई और इसमें चलता है, तो मुझे एक ही समस्या का सामना करना पड़ा जब मैंने बस एक गलत सबडोमेन के साथ मोबाइल सेवा क्लाइंट को यूआरएल पास कर दिया था।

उदाहरण के लिए, कुछ इस तरह:

public static MobileServiceClient MobileService = new MobileServiceClient( 
 
    "http://www.example.azure-mobile.net/", 
 
    "fjkdslajkfdlsref31321fgdsat34ajklfdslajfkldsa" 
 
);

-1

यह सुनिश्चित करें कि इस बंद है।

enter image description here

1

मैं अपने Android उपकरणों में इस समस्या का समाधान। आपको अपने ऐप इंस्टेंस को मारने की ज़रूरत होगी, सिस्टम की तारीख/समय को चालू करें और ऐप को दोबारा खोलें।

धन्यवाद नाथनियल वूल्स !!!

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