Решить ошибку загрузки HTTP2 Ошибка сети

Окружающая среда

  • Веб-сайт ASP.NET
  • .NET 4.6.1
  • Размещено в IIS 10.0 на Windows Server 2016.

Web.Config:

<modules runAllManagedModulesForAllRequests="true">
  <remove name="FormsAuthentication" />
</modules>

Нажатие кнопки:

protected void btnDownload_Click(object sender, System.EventArgs e)
{
    try
    {
        string sPDFFilename = "doc.pdf";    
        byte[] data = GetData();            
        Response.ClearHeaders();
        Response.ClearContent();
        Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition", "Attachment; filename=" + sPDFFilename);
        Response.AddHeader("content-length", (data.Length.ToString()));
        Response.BinaryWrite(data);
        Response.Flush();
        HttpContext.Current.ApplicationInstance.CompleteRequest();
    }
    catch(Exception ex){ throw; }
}

Вопрос. При первом ответном сообщении браузер использует HTTP2 для своего протокола, и загрузка не удалась. Сайты Chrome "Ошибка сети – не удалось загрузить"

Щелкните ту же ссылку еще раз, и протокол вернется к http/1.1, и загрузка будет успешной.

  • Подходит ли текущий синтаксис для доставки файла по протоколу HTTP2?
  • Можно ли принудительно использовать http/1.1 в IIS10/ASP.NET 4.6.1?

person seewhathadhappenedwas    schedule 21.07.2017    source источник
comment
У нас точно такая же проблема! Это происходит только в Chrome.   -  person Morten OC    schedule 20.08.2017
comment
Мы временно отключили HTTP/2 на сервере, пока не решим нашу проблему. stackoverflow.com/questions/31668151/   -  person seewhathadhappenedwas    schedule 07.09.2017
comment
Я переместил SSRS на новый сервер с HTTPS, и при загрузке отчетов возникла эта проблема. Добавление HttpContext.Current.Response.End(); после Flush() он работает отлично!   -  person AlvaroV    schedule 22.03.2021
comment
HKLM\System\CurrentControlSet\Services\HTTP\Parameters добавить двойное слово Http2MaxConcurrentClientStreams значение 100   -  person Shaybakov    schedule 19.06.2021