2
私はBotFrameworkを使ってボットを実現しています。私はインターフェースIDialogを使用しています。ダイアログで は、EchoDialogを呼び出し、メインコードは以下である:BotFrameworkの 'context.Wait'とは何ですか?
public Task StartAsync(IDialogContext context)
{
context.Wait(MessageReceivedAsync);
return Task.CompletedTask;
}
private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> result)
{
var activity = await result;
await context.PostAsync($"{count++},You said: " + activity.Text);
context.Wait(MessageReceivedAsync);
}
とMessagesController.csメインコード:
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
if (activity.Type == ActivityTypes.Message)
{
await Conversation.SendAsync(activity,() => new EchoDialog());
}
var response = Request.CreateResponse(HttpStatusCode.OK);
return response;
}
よく実行コード。私は(機能MessageReceivedAsyncでEchoDialog.csで、)コードにコメントなら:
context.Wait(MessageReceivedAsync);
コードの実行結果は、それはそれはまだ入力をどのように使用することができますエコーで、コメントのない結果と同じです。
実際にはcontext.Wait
とは何ですか?
em ..私の場合、コードを使用する必要はありません:context.Wait(MessageReceivedAsync); ? – cherish
両方の行にコメントしますか? –
ただ、関数MessageReceivedAsyncの行をコメントしてください – cherish