से IObservable वापस कैसे प्राप्त करें मेरे पास एक साधारण वेब एपीआई है जो Iobservable लौटाती है। मैं पर्यवेक्षक प्राप्त करने के लिए HttpClient का उपयोग कर रहा हूं ताकि मैं इसकी सदस्यता ले सकूं। मेरी समस्या है सदस्यता पर लौटा Iobservable एक 'खाली' परिणाम भेजता है।वेब एपीआई
सर्वर
public IObservable<DataItem> GetDataItems()
{
return Observable.Generate(0, i => i < 10, i => i + 1,
i => new DataItem
{
Id = i,
Name = String.Format("Storage{0}",i)
});
}
ग्राहक
public IObservable<DataItem> GetDataItems()
{
using (HttpClient apiClient = new HttpClient())
{
apiClient.BaseAddress = new Uri("http://localhost:9001");
apiClient.DefaultRequestHeaders.Add("x-user-authentication", "xxxxxx");
return apiClient
.GetAsync("api/xxxx/yyyy").Result.Content
.ReadAsAsync<DataItem>().ToObservable();
}
}
var source = GetDataItems();
List<DataItem> items = new List<DataItem>();
IDisposable consoleSubscription = source.Subscribe(
x => Console.WriteLine("{0}:{1}", x.Id, x.Name),
ex => Console.WriteLine("OnError : {0} ", ex.Message),
() => Console.WriteLine("Encountered End of Stream")
);
consoleSubscription.Dispose();
मेरे मुद्दा मैं किसी भी डेटा सर्वर से वापस नहीं मिल रहा है है। मुझे एक 'खाली' देखने योग्य लगता है। मैंने अपने नियंत्रक के खिलाफ एक यूनिट टेस्ट लिखा और यह डेटािटैम्स को वापस देता है।
कोई सुझाव कृपया मदद करें। यह समझने में असमर्थ कि मैं कहां गलत हो रहा हूं। सर्वर या क्लाइंट पर कोई त्रुटि नहीं है।
निर्वाण लिंक पर लिंक-रॉट फिक्स्ड; टेराकोटा ने इसे खरीदा। –
निर्वाण लिंक काम नहीं कर रहा है। –
मैंने इसे अपडेट किया है, और नमूना के लिए एक लिंक जोड़ा है। –