Думайте об асинхронной загрузке как об отдельном потоке, как только он загрузит информацию, запустится остальная часть программы и обработчик событий сработает после получения ответа.
Вы должны использовать WebClient класс.
Так, например:
public string result; //Variable for returned data to go.
public void UploadInfo(string URL, string data)
{
WebClient client = new WebClient(); //Create new instance of WebClient
client.UploadStringCompeleted += new UploadStringCompletedEventHandler(client_uploadComplete); //Tell client what to do once upload complete
client.UploadStringAsync(new uri(URL), data); //Send data to URL specified
}
public void client_uploadComplete(object sender, UploadStringCompletedEventArgs e)
{
if (e.Error == null) //If server does not return error
{
result = e.Result; //Place returned value into "result" string
}
}
Это просто базовый фрагмент кода, я не уверен, будет ли он работать для вас, поскольку это будет зависеть от того, какую технологию на стороне сервера вы используете, плюс другиефакторов, но это должно указывать вам в правильном направлении.
Если вы используете какой-то формат обмена данными на стороне сервера, например, json, вам потребуется следующая строка, прежде чем отправлять информацию на сервер.
client.Headers[HttpRequestHeader.ContentType] = "application/json";
убедитесь, что вы изменили "application / json" на то, что вы используете.
Удачи!