/ / Implementado en el bot de Azure no responde - c #, botframework

Implementado en el bot de Azure no responde - c #, botframework

Comienzo a investigar BotFramework y encuentro un problema molesto.

  1. Creado "Hola mundo" bot.
    Aquí si el código

    public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
    {
    if (activity.Type == ActivityTypes.Message)
    {
    ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
    // calculate something for us to return
    int length = (activity.Text ?? string.Empty).Length;
    
    // return our reply to the user
    Activity reply = activity.CreateReply($"You sent {activity.Text} which was {length} characters");
    await connector.Conversations.ReplyToActivityAsync(reply);
    }
    else
    {
    HandleSystemMessage(activity);
    }
    var response = Request.CreateResponse(HttpStatusCode.OK);
    return response;
    }
    

Funciona bien localmente

  1. Implementado en Azure.
  2. Establezca los parámetros correctos BotId, MicrosoftAppId y MicrosoftAppPassword en web.config.
  3. URL con mi bot es http://funnyskypebot20171026010946.azurewebsites.net y parece que funciona

Pero cuando trato de "comunicarme" un poco a través de Bot Framework Channel Emulator, no recibo ningún mensaje ... Qué podría estar mal ? Por favor avise.

Respuestas

2 para la respuesta № 1

Supongo que ya siguió los pasos en https://docs.microsoft.com/en-us/bot-framework/deploy-dotnet-bot-visual-studio para el despliegue a Azure.

Has visto esto https://docs.microsoft.com/en-us/bot-framework/debug-bots-emulator con respecto a la depuración de forma remota con ngrok?

Si está usando Visual Studio, en la barra de herramientas,puede hacer clic en "Ver -> Explorador del servidor". En "Azure -> Servicio de aplicaciones", debería ver su grupo de recursos allí. En su grupo de recursos, debería ver el servicio de su aplicación. Haga clic derecho y seleccione "Adjuntar depurador" para que pueda ver el resultado ("Ver -> Salida") y depurar su servicio de aplicación desplegado.


0 para la respuesta № 2

El error interno del servidor generalmente significa que hay algún tipo de problema con su código. Prueba la depuración localmente ngrok. Puede cambiar su punto final en portal dev a la que genera ngrok cuando usas este comando ngrok http 3979 -host-header="localhost:3979" cambia al puerto en el que se ejecuta tu bot.

Más información:
Entrada en el blog
Entrada en el blog