Два таких запроса в коде .NET вызовут два таких HTTP-запроса, которые довольно легко можно проверить, просто создав что-то, что делает это, выполнив его, а затем протестировав, что происходит на сервере.
Это уместно, поскольку может случиться так, что два запроса получат разные ответы, особенно если учесть, что в одном из них может возникнуть ошибка, а в другом нет.Существуют и другие причины (например, сервер может отправлять ответ, который каждый раз отличается, вместе с инструкциями о том, что его не следует кэшировать).
Однако может быть исключение.Существует ограничение по умолчанию на количество запросов, которые будут одновременно отправляться на один и тот же домен, который настраивается, но по умолчанию равен двум (на это часто жалуются, потому что это неуместно в некоторых случаях использования - однако два запроса на сервер делаютв большинстве случаев дают наибольшую общую пропускную способность, поэтому она имеет на то веские причины).
Из-за этого вполне возможно, что один из двух запросов будет отложен, поскольку он находится в очереди из-за этого правила.Даже если предел по умолчанию увеличен, возможно, что этот предел все еще превышен.
Теперь, как отмечает Марк, ответ может быть кэширован, как только его поток ответов будет прочитан до конца *, и это могло произойтико времени начала второго запроса, который приведет к использованию кэшированного ответа, если это применимо (ответ был кэширован, и при его загрузке не было ошибок).
Таким образом, в итоге мы ожидаем, что он будетдве отдельные загрузки, и мы должны этому радоваться (в случае, если одна имеет ошибку), но существуют возможные условия, при которых будет только одна загрузка, так как два «одновременных» запроса вынуждены фактически не быть одновременными.
* На самом деле, хотя в документации говорится, что поток должен быть прочитан до конца, он фактически должен быть прочитан до конца и закрыт, либо вручную, удалив его (например, из using
)) или из выполняемого финализатора.