Вызвать второй запрос после успешного ответа от первого запроса
Работаю с XML запросами, мне надо на консоль вывести ответ от сервера в виде XML формата и ставить условии что после успешного ответа от сервера на первый запрос вызывает второй запрос и потом тоже получить ответ от второго запроса в XML формата. Написал вызов второго запроса внутри условие в методе, правильно ли это? Или где лучше вызвать и как? Коды приведены ниже:
Код после запуска:
static void Main(string[] args)
{
string str = Requests.checkPaymentRequisites();
var xml = postXMLData(url, str);
Console.WriteLine(xml);
Console.ReadKey();
}
Метод работы с запросом:
public static string postXMLData(string destinationUrl, string xml)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(destinationUrl);
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(xml);
request.ContentType = "text/xml; encoding='utf-8'";
request.ContentLength = bytes.Length;
request.Method = "POST";
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream responseStream = response.GetResponseStream();
var xmlResponce = XmlToResponce(responseStream);
if (xmlResponce.Providers.checkPaymentRequisites.Payment.result == 0 && xmlResponce.Providers.checkPaymentRequisites.Payment.status==3)
//// ТУТ ВЫЗЫВАЕТСЯ ВТОРОЙ ЗАПРОС /////
string responseStr = new StreamReader(responseStream).ReadToEnd();
return responseStr;
}
return string.Empty;
}
Парсинг ответа:
private static Responses.Response XmlToResponce (Stream stream)
{
var xmlSerializer = new XmlSerializer(typeof(Responses.Response));
var xmlResponce = xmlSerializer.Deserialize(stream) as Responses.Response;
return xmlResponce;
}
Источник: Stack Overflow на русском