Удаленный хост закрыл соединение.Код ошибки 0x80070057 - PullRequest
10 голосов
/ 19 августа 2010

Я получаю много таких сообщений об ошибках в своих журналах на одном из моих серверов и периодически на двух других.

Googling не раскрыл много информации, в основном связанной с прерыванием загрузки или скачиванием файлов.

Мои страницы в основном представляют собой просто текстовые файлы с надписью "ok", которые имеют расширение .aspx только для будущих планов, никакого реального кода, питающего страницы. Все серверы - Windows Server 2008 RC2 x64 под управлением IIS7 / ASP.NET 4.

Статистически это происходит значительно меньше чем в 1% случаев, но из-за объема трафика, который все еще загромождает мой журнал событий 2 или 3 из этих сообщений в минуту.

Edit: Я разыскал проблему, установив буферизацию на true, чтобы она не возникала.

Ответы [ 2 ]

7 голосов
/ 26 июля 2012

Я знаю, что на этот вопрос уже получен ответ, но, по случайности, это помогает кому-то еще, это иногда происходило в моем проекте MVC, когда у меня был один dbContext, установленный в верхней части хранилища.Когда я переключился на оператор using для соединений с базой данных, ошибка больше никогда не появлялась.

Итак, я перешел к началу каждого репозитория:

DbContext db = new DbContext();

К этому для каждого человекаconnection:

using (DbContext db = new DbContext())
{
     //db connection stuff here....
}

Стоит сказать, что никто никогда не сообщал о том, что видел ошибку, и в браузере не было никакой ошибки, но приятно все же убрать ее из журналов!

3 голосов
/ 14 августа 2013

Вы возвращаете Stream?

Возможно, вам придется закрыть его после завершения метода.

Проверьте это: Закрытие возвращаемых потоков в WCF

Вот код, который предлагает этот блог:

public Stream GetFile(string path) 
{
   Stream fileStream = null;    

   try   
   {
      fileStream = File.OpenRead(path);
   }
   catch(Exception)
   {
      return null;
   }

   OperationContext clientContext = OperationContext.Current;
   clientContext.OperationCompleted += 
       new EventHandler(delegate(object sender, EventArgs args)
       {
            if (fileStream != null) fileStream.Dispose();
       });
   return fileStream;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...