У меня есть несколько веб-сообщений в моем приложении, которым необходимо отправить текстовые данные на сервер, но кроме ожидания завершения публикации, не должны задерживаться методы, которые вызываются из (большие сообщения данных, которые замедляют logi c et c, которого не должно быть).
В настоящее время я отбрасываю задачу, поскольку это кажется правильным методом, однако в журналах на стороне сервера указано, что соединение закрывается до того, как данные будут успешно отправлены, что означает, что я Я теряю большую часть данных при передаче.
private void DoSomethingandPost()
{
BeforeMethod();
PushWebDataAsync(TheData1);
PushWebDataAsync(TheData2);
AfterMethod();
}
public static async void PushWebDataAsync(string Data)
{
...makes changes to the data...
try
{
_ = pushDataAync(Data);
}
catch (Exception e)
{
_ = pushDataAync(Data);
}
}
public System.Threading.Tasks.Task<System.Xml.XmlNode> pushDataAync(string Data)
{
return base.Channel.pushDataAync(Data);
}
Мне кажется, что если «AfterMethod» возвращается до того, как данные были завершены, то соединение с сервером прерывается, и поэтому данные не передаются полностью.
То, что я пытаюсь достичь, на самом деле, DoSomethingandPost () завершается и завершается, но два asyn c Post продолжаются сами по себе до завершения, затем завершаются.