Microsoft BOT Framework BOT间歇性停止工作

问题描述 投票:0回答:1

我在BOT中面临间歇性问题。

我有两个使用c#和BOT Framework V4编写的机器人,它们都是相同的,并且都托管在IIS上。

而且我还托管了两个WebChat Node.js应用程序,并且它们都是相同的。

我对两个机器人有两个不同的Azure注册。

[一个机器人不断抛出问题,并且间歇性地停止工作。然后,我们必须回收其应用程序池以使其重新启动。

服务器:Windows Server 2012 R2IIS:8.5.9600

错误在下面给出,

fail: EnterpriseTestBot.Startup[0]
      Exception Occured :-> The operation was canceled.-----   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
         at System.Threading.Tasks.ValueTask`1.get_Result()
         at System.Net.Http.HttpConnectionPool.CreateConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
         at System.Threading.Tasks.ValueTask`1.get_Result()
         at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync(ValueTask`1 creationTask)
         at System.Threading.Tasks.ValueTask`1.get_Result()
         at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
         at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
         at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
         at Microsoft.Bot.Connector.Conversations.ReplyToActivityWithHttpMessagesAsync(String conversationId, String activityId, Activity activity, Dictionary`2 customHeaders, CancellationToken cancellationToken)
         at Microsoft.Bot.Connector.ConversationsExtensions.ReplyToActivityAsync(IConversations operations, String conversationId, String activityId, Activity activity, CancellationToken cancellationToken)
         at Microsoft.Bot.Builder.BotFrameworkAdapter.SendActivitiesAsync(ITurnContext turnContext, Activity[] activities, CancellationToken cancellationToken)
         at Microsoft.Bot.Builder.TurnContext.<>c__DisplayClass22_0.<<SendActivitiesAsync>g__SendActivitiesThroughAdapter|1>d.MoveNext()
      --- End of stack trace from previous location where exception was thrown ---
         at Microsoft.Bot.Builder.TurnContext.SendActivityAsync(IActivity activity, CancellationToken cancellationToken)
         at Microsoft.Bot.Builder.TemplateManager.TemplateManager.ReplyWith(ITurnContext turnContext, String templateId, Object data)
         at EnterpriseTestBot.Dialogs.Main.MainDialog.OnStartAsync(DialogContext dc, CancellationToken cancellationToken) in D:\Test\BOT\Enterprise_BOT\EnterpriseTestBot\Dialogs\Main\MainDialog.cs:line 101
         at EnterpriseTestBot.Dialogs.Shared.RouterDialog.OnContinueDialogAsync(DialogContext innerDc, CancellationToken cancellationToken) in D:\Test\BOT\Enterprise_BOT\EnterpriseTestBot\Dialogs\Shared\RouterDialog.cs:line 35
         at Microsoft.Bot.Builder.Dialogs.ComponentDialog.BeginDialogAsync(DialogContext outerDc, Object options, CancellationToken cancellationToken)
         at Microsoft.Bot.Builder.Dialogs.DialogContext.BeginDialogAsync(String dialogId, Object options, CancellationToken cancellationToken)
         at EnterpriseTestBot.EnterpriseTestBot.OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken) in D:\Test\BOT\Enterprise_BOT\EnterpriseTestBot\EnterpriseTestBot.cs:line 96
         at EnterpriseTestBot.Middleware.GetSetUserDataMiddleware.OnTurnAsync(ITurnContext turnContext, NextDelegate next, CancellationToken cancellationToken) in D:\Test\BOT\Enterprise_BOT\EnterpriseTestBot\Middleware\GetSetUserDataMiddleware.cs:line 98
         at Microsoft.Bot.Builder.AutoSaveStateMiddleware.OnTurnAsync(ITurnContext turnContext, NextDelegate next, CancellationToken cancellationToken)
         at EnterpriseTestBot.Middleware.SetLocaleMiddleware.OnTurnAsync(ITurnContext context, NextDelegate next, CancellationToken cancellationToken) in D:\Test\BOT\Enterprise_BOT\EnterpriseTestBot\Middleware\SetLocaleMiddleware.cs:line 49
         at Microsoft.Bot.Builder.MiddlewareSet.ReceiveActivityWithStatusAsync(ITurnContext turnContext, BotCallbackHandler callback, CancellationToken cancellationToken)
         at Microsoft.Bot.Builder.BotAdapter.RunPipelineAsync(ITurnContext turnContext, BotCallbackHandler callback, CancellationToken cancellationToken)-----System.IO.IOException: Unable to read data from the transport connection: The I/O operation has been aborted because of either a thread exit or an application request. ---> System.Net.Sockets.SocketException: The I/O operation has been aborted because of either a thread exit or an application request
         --- End of inner exception stack trace ---
         at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error)
         at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
         at System.Net.Http.HttpConnection.ReadBufferedAsyncCore(Memory`1 destination)
         at System.Net.Http.HttpConnection.RawConnectionStream.ReadAsync(Memory`1 buffer, CancellationToken cancellationToken)
         at System.Net.FixedSizeReader.ReadPacketAsync(Stream transport, AsyncProtocolRequest request)
         at System.Net.Security.SslState.ThrowIfExceptional()
         at System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
         at System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult result)
         at System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)
         at System.Net.Security.SslStream.<>c.<AuthenticateAsClientAsync>b__47_1(IAsyncResult iar)
         at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
      --- End of stack trace from previous location where exception was thrown ---
         at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
info: Microsoft.Bot.Builder.Integration.IAdapterIntegration[0]
      Sending activity.  ReplyToId: 5Ly5VgcOJHH
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 POST http://TestBot.MyCompany.com/ATOM/api/messages application/json; charset=utf-8 377
info: Microsoft.Bot.Builder.Integration.IAdapterIntegration[0]
      Received an incoming activity.  ActivityId: 6WV3KIRaT3y
info: Microsoft.Bot.Builder.Integration.IAdapterIntegration[0]
      Sending activity.  ReplyToId: 6WV3KIRaT3y
c# botframework direct-line-botframework
1个回答
0
投票

这种特殊问题需要在GitHub(https://github.com/microsoft/botbuilder-dotnet)上提出,因为这将特定于您的机器人。

© www.soinside.com 2019 - 2024. All rights reserved.