HTTPCLIENT.POSTASYNC (). Результат Получение ошибки System.Threading.Tasks.TaskCanceledException: задача была отменена - PullRequest
0 голосов
/ 30 июня 2019

Ежедневно в 19:00 я быстро отправляю 10 000 электронных писем с помощью службы Windows. Я использую веб-API для отправки электронной почты.

I am using Task=>Run() method calling Web API to send emails.

**Below is code snapshot**



private static readonly HttpClient Client = new HttpClient();

    Void SendemailByAPI(){
      Task.Run(() => SendemailByAPI());
      }

   public SendemailByAPI()
    {    
     try{

    HttpResponseMessage response = client.PostAsync(apiName,httpContent).Result;

      return response
    }
      catch(exception ex)
    {
      writelog.log(ex.tostring());

    }
    }

По этому коду некоторые электронные письма отправляются, а некоторые не отправляются по электронной почте через WEB API. Ниже приведено сообщение об ошибке. В моем пользовательском журнальном файле записано: - Задача была отменена.

LLogMessage: System.AggregateException: произошла одна или несколько ошибок. ---> System.Threading.Tasks.TaskCanceledException: задача была отменена. --- Конец внутренней трассировки стека исключений --- в System.Threading.Tasks.Task.ThrowIfExceptional (логическое значение includeTaskCanceledExceptions) в System.Threading.Tasks.Task 1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task 1.get_Result () в SkillSurvey.Common.ApiGateway.PostAsyncRequest (клиент HttpClient, строка baseAddressURL, строка apiName, параметр StringJsonString) в D: \ VSTS \ Reference \ Development \ Code \ SkillSurvey.Common \ EmailAPIGateway \ ApiGateway.line: ---> (Внутреннее исключение # 0) System.Threading.Tasks.TaskCanceledException: задача была отменена.

**Error from Windows HTTP.SYS errors are logged to %windir%\System32\LogFiles\HTTPERR** 

-10 Request cancelled apppool name
-10 Request cancelled apppool name ---etc

**I am not getting why this eroor occurs** 
1.Task=>Run() OR  2. HTTPCLIENT timeout OR 3. httpclient.PostAsyc().Result 4.WEBAPI app pool size (queue length 1000)

Threading issue or httpclient object timeout or calling many webapi requests at a time

I was tried to solve this issue below things but not resolved it Plz help me.

1. remove Task=>Run() and call directly WEB API URL.
2. Remove .Result and only call httpclient.PostAsyc(string url,content)--task cancel not error logged in a custom file but not send all emails but in HTTP.SYS same error -10 Request cancelled the app pool name

Can anyone get the same problem? Thanks in advance for your any suggestion. 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...