C# я пытаюсь передать данные из async Task в другую функциюC#

Место общения программистов C#
Ответить
Anonymous
 C# я пытаюсь передать данные из async Task в другую функцию

Сообщение Anonymous »

Я пытаюсь передать данные из асинхронной задачи в другую функцию, но после запуска кода интерфейс зависает, не знаю почему.

Код: Выделить всё

 private void Received_FromBarcode(object s, EventArgs e)
{
BarcodeBuff += BarcodeData;
if (BarcodeBuff.Contains("\r"))
{
string[] Barcodesplit = BarcodeBuff.Split('\r');
string[] tempbarcode = Barcodesplit[0].Split(',');
//tbResult.Text = getdataFormMIS(tempbarcode[0], tempbarcode[1]).Result;
tbResult.Text = getdataFormMIS(tempbarcode[0], tempbarcode[1]).Result;
BarcodeBuff = "";
}

}
public class MyData
{
public string PCBA_SN { get; set; }
public string MODULE_ID { get; set; }

public MyData()
{
PCBA_SN = "";
MODULE_ID = "";
}
}
static async Task getdataFormMIS(string pcb,string module)
{
var data = new MyData { PCBA_SN = pcb, MODULE_ID = module };
string json = JsonConvert.SerializeObject(data);
string tempdataresult = "";
using (var httpClient = new HttpClient())
{
var content = new StringContent(json, Encoding.UTF8, "application/json");

var response = await httpClient.PostAsync("http://10.5.65.150:6245/check-core-id", content);

if (response.IsSuccessStatusCode)
{
string responseContent = await response.Content.ReadAsStringAsync();
//return responseContent;
tempdataresult= responseContent;
}
else
{

tempdataresult= $"HTTP request failed with status code {response.StatusCode}";
}

}

return tempdataresult;
}
Я хочу знать, как использовать данные в асинхронной задаче в другой функции.
Мне нужно использовать responseContent в другой функции или вызвать другую функцию, чтобы что-то сделать.

Подробнее здесь: https://stackoverflow.com/questions/784 ... er-funcion
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»