Error while using cognitiveservices.azure.com

Bernard BORSU 5 Reputation points
2024-05-17T11:12:53.73+00:00

We are using cognitive services on several web sites. All these web sites call our same function AnalyzeText :

Public Function AnalyzeText(cTexte As String, Optional cBlockListName As String = "") As Integer

Dim Reponse As Integer = 0

Try

    Dim oClient As New ContentSafetyClient(New Uri(CONTENTSAFETY_ENDPOINT), New AzureKeyCredential(CONTENTSAFETY_KEY)),

        oRequest As AnalyzeTextOptions = New AnalyzeTextOptions(cTexte.ToLower)

    If cBlockListName <> "" Then

        oRequest.BlocklistNames.Add(cBlockListName)

    End If

    Dim oResponse As Response(Of AnalyzeTextResult) = Nothing

    Try

        oResponse = oClient.AnalyzeText(oRequest)

    Catch ex As RequestFailedException

        AnalyseErreurEnaos(-1, "Analyze text failed." & vbCrLf & "Status code:" & ex.Status & ", Error code: " & ex.ErrorCode & ", Error message:" & ex.ErrorCode)

    End Try

    For Each item As TextCategoriesAnalysis In oResponse.Value.CategoriesAnalysis

        If item.Severity > 2 Then

            Reponse = item.Severity

            Exit For

        End If

    Next

Catch ex As AggregateException

    EMailV2($"{HttpContext.Current.Request.Url.Host} - Erreur Content Safety API Microsoft",

            $"<p>Une erreur ""{ex.TargetSite}"" est survenue durant l'appel à l'API Content Safety Studio de Microsoft.</p><p>{ex.Message}</p><p><pre>{ex.InnerException}</pre></p><p>HResult : {ex.HResult }</p><p><pre>{ex.StackTrace}</pre></p>")

Catch ex As Exception

    EMailV2($"{HttpContext.Current.Request.Url.Host} - Erreur Content Safety API Microsoft - {TypeName(ex)}",

            $"<p>Une erreur est survenue durant l'appel à l'API Content Safety Studio de Microsoft.</p><p>{ex.Message}</p><p><pre>{ex.InnerException}</pre></p><p>HResult : {ex.HResult }</p><p><pre>{ex.StackTrace}</pre></p>")

End Try

Return Reponse
```End Function

On some web sites, no problem, everything is fine. On other web sites, we always receive the same error :

Retry failed after 4 tries. Retry settings can be adjusted in ClientOptions.Retry or by configuring a custom retry policy in ClientOptions.RetryPolicy.

Azure.RequestFailedException: La connexion sous-jacente a été fermée : Une erreur inattendue s'est produite lors de l'envoi. ---> System.Net.WebException: La connexion sous-jacente a été fermée : Une erreur inattendue s'est produite lors de l'envoi. ---> System.IO.IOException: Impossible de lire les données de la connexion de transport : Une connexion existante a dû être fermée par l’hôte distant. ---> System.Net.Sockets.SocketException: Une connexion existante a dû être fermée par l’hôte distant

   à System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)

   --- Fin de la trace de la pile d'exception interne ---

   à System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)

   à System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)

   à System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)

   à System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)

   à System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest, Boolean renegotiation)

   à System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)

   à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

   à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

   à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

   à System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)

   à System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)

   à System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)

   à System.Net.ConnectStream.WriteHeaders(Boolean async)

   --- Fin de la trace de la pile d'exception interne ---

   à System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)

   à System.Net.HttpWebRequest.GetRequestStream()

   à Azure.Core.Pipeline.HttpWebRequestTransport.d__8.MoveNext()

   --- Fin de la trace de la pile d'exception interne ---

   à Azure.Core.Pipeline.HttpWebRequestTransport.d__8.MoveNext()

--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---

   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   à Azure.Core.Pipeline.HttpWebRequestTransport.Process(HttpMessage message)

   à Azure.Core.Pipeline.HttpPipelineTransportPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.RequestActivityPolicy.ProcessNextAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)

   à Azure.Core.Pipeline.RequestActivityPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.ResponseBodyPolicy.d__5.MoveNext()

--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---

   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   à Azure.Core.Pipeline.ResponseBodyPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.LoggingPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.RedirectPolicy.d__7.MoveNext()

--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---

   à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   à Azure.Core.Pipeline.RedirectPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)

   à Azure.Core.Pipeline.RetryPolicy.d__5.MoveNext()

All these calling to the service are made with the same URL and the same credential.

We would appreciate ANY idea why  this problem occurs !

Azure AI services
Azure AI services
A group of Azure services, SDKs, and APIs designed to make apps more intelligent, engaging, and discoverable.
2,485 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Bernard BORSU 5 Reputation points
    2024-05-22T14:01:09.2333333+00:00

    Problem solve, 2 sites were configured with TargetFramework 4.5. This was the source of the problem. When configuring TargetFramework 4.8, no communication problem.

    1 person found this answer helpful.
    0 comments No comments