मैं यह जानने की कोशिश कर रहा हूं कि httpclient कॉल की सामग्री को कैसे पढ़ा जाए, और मैं इसे प्राप्त नहीं कर सकता। मुझे मिलने वाली प्रतिक्रिया की स्थिति 200 है, लेकिन मैं यह पता नहीं लगा सकता कि वास्तविक जौन को कैसे लौटाया जाए, जो मुझे चाहिए!
निम्नलिखित मेरा कोड है:
async Task<string> GetResponseString(string text)
{
var httpClient = new HttpClient();
var parameters = new Dictionary<string, string>();
parameters["text"] = text;
Task<HttpResponseMessage> response =
httpClient.PostAsync(BaseUri, new FormUrlEncodedContent(parameters));
return await response.Result.Content.ReadAsStringAsync();
}
और मैं इसे सिर्फ एक विधि से बुला रहा हूं:
Task<string> result = GetResponseString(text);
और यही मुझे मिलता है
response Id = 89, Status = RanToCompletion, Method = "{null}", Result = "StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:\r\n{\r\n Connection: keep-alive\r\n Date: Mon, 27 Oct 2014 21:56:43 GMT\r\n ETag: \"5a266b16b9dccea99d3e76bf8c1253e0\"\r\n Server: nginx/0.7.65\r\n Content-Length: 125\r\n Content-Type: application/json\r\n}" System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
अद्यतन: यह मेरा मौजूदा कोड नीचे नाथन की प्रतिक्रिया है
async Task<string> GetResponseString(string text)
{
var httpClient = new HttpClient();
var parameters = new Dictionary<string, string>();
parameters["text"] = text;
var response = await httpClient.PostAsync(BaseUri, new FormUrlEncodedContent(parameters));
var contents = await response.Content.ReadAsStringAsync();
return contents;
}
और मैं इसे इस विधि से कहता हूं ...।
string AnalyzeSingle(string text)
{
try
{
Task<string> result = GetResponseString(text);
var model = JsonConvert.DeserializeObject<SentimentJsonModel>(result.Result);
if (Convert.ToInt16(model.pos) == 1)
{
_numRetries = 0;
return "positive";
}
if (Convert.ToInt16(model.neg) == 1)
{
_numRetries = 0;
return "negative";
}
if (Convert.ToInt16(model.mid) == 1)
{
_numRetries = 0;
return "neutral";
}
return "";
}
catch (Exception e)
{
if (_numRetries > 3)
{
LogThis(string.Format("Exception caught [{0}] .... skipping", e.Message));
_numRetries = 0;
return "";
}
_numRetries++;
return AnalyzeSingle(text);
}
}
और यह हमेशा के लिए चलता रहता है, यह var model = JsonConvert.DeserializeObject<SentimentJsonModel>(result.Result);
एक बार लाइन मारता है
, और यह एक और ब्रेकपॉइंट पर बिना रुके चलता रहता है।
जब मैं निष्पादन को रोक देता हूं, तो यह कहता है
Id = अभिव्यक्ति का मूल्यांकन नहीं कर सकता क्योंकि वर्तमान विधि का कोड अनुकूलित है।, Status = अभिव्यक्ति का मूल्यांकन नहीं कर सकता क्योंकि वर्तमान विधि का कोड अनुकूलित है, विधि = अभिव्यक्ति का मूल्यांकन नहीं कर सकता क्योंकि वर्तमान पद्धति का कोड अनुकूलित है। परिणाम =। अभिव्यक्ति का मूल्यांकन नहीं कर सकते क्योंकि वर्तमान विधि का कोड अनुकूलित है।
.. मैं निष्पादन जारी रखता हूं, लेकिन यह हमेशा के लिए चलता है। पता नहीं है कि समस्या क्या है