Socket error the remote host closed
Я использую elmah -> Elmah.axd в своем проекте для поиска ошибок.
существует ошибка, подобная этой :
System.Web.HttpException: The remote host closed the connection. The error code is 0x800703E3.
Generated: Sun, 27 Nov 2011 13:06:13 GMT
Во время работы с веб-сайтом мы не видим эту ошибку. Но elmah отправляет мне эту ошибку много-много раз. Что означает эта ошибка и как я могу ее исправить?
Ответ
Это исключение означает, что клиент разорвал соединение (перешел на другую страницу / закрыл браузер) до завершения загрузки страницы. Если клиент загружает файл, эта ошибка еще более вероятна, поскольку у них больше времени, чтобы решить выйти / двигаться дальше.
Я столкнулся с этой ошибкой, когда пользователь отменил загрузку файла. На стороне сервера он выдает исключение с сообщением, что удаленный хост закрыл соединение. Код ошибки 0x800703E3. Однако исключение не имеет какого-либо отдельного типа, который можно обрабатывать отдельно.
В противном случае, чтобы справиться с этим в ASP.NET Правильно MVC я добавил регистратор исключений:
public static class RegisterFilters
{
public static void Execute(HttpConfiguration configuration)
{
configuration.Services.Add(typeof(IExceptionLogger), new WebExceptionLogger());
}
И реализация класса WebExceptionLogger:
public class WebExceptionLogger : ExceptionLogger
{
private const int RequestCancelledByUserExceptionCode = -2147023901;
public override void Log(ExceptionLoggerContext context)
{
var dependencyScope = context.Request.GetDependencyScope();
var loggerFactory = dependencyScope.GetService(typeof(ILoggerFactory)) as ILoggerFactory;
if (loggerFactory == null)
{
throw new IoCResolutionException<ILoggerFactory>();
}
var logger = loggerFactory.GetTechnicalLogger<WebExceptionLogger>();
if (context.Exception.HResult == RequestCancelledByUserExceptionCode)
{
logger.Info($”Request to url {context.Request.RequestUri} was cancelled by user.”);
}
else
{
logger.Error(“An unhandled exception has occured”, context.Exception);
}
}
Я заметил, что этот конкретный тип ошибки имеет HResult = -2147023901, так что это то, по чему я фильтрую.
Надеюсь, это поможет.
Socket error. the remote host closed the connection, в майнере Nbminer
Также может быть описана как “ERROR – Failed to establish connection to mining pool: Socket operation timed out”.
Сетевой конфликт – проверьте соединение рига с интернетом. Перегрузите роутер.
Также может быть, что провайдер закрывает соединение с пулом. Смените пул, попробуйте VPN или измените адреса DNS на внешнего провайдера, например cloudflare 1.1.1.1, 1.0.0.1