我試圖使用System.Data.DataTable解析會話期間附加的Excel文檔並將其複製到DataTable,以便使用BotFramefork對話框進一步處理。Microsoft Bot Framework 500內部服務器使用System.Data命名空間時出錯
當使用「System.Data」命名空間且未能發送消息時,會出現「500 InternalServerError」。
我已經從GitHub試過下面的示例如果包含「System.Data.DataTable」來運行本地與仿真
https://github.com/jamesemann/intro-to-botframework5-dialogsrefactored
對同一樣品,有一個500內部服務器錯誤在模擬器中。
[Serializable]
public class AdditionDialog : IDialog<object>
{
protected int number1 { get; set; }
/* Error When Included Below line*/
System.Data.DataTable dt = new System.Data.DataTable();
public async Task StartAsync(IDialogContext context)
{
await context.PostAsync("Provide number one:");
context.Wait(MessageReceivedAddNumber1);
}
public async Task MessageReceivedAddNumber1(IDialogContext context, IAwaitable<IMessageActivity> argument)
{
var numbers = await argument;
// number one is persisted between messages automatically by bot framework dialog
this.number1 = int.Parse(numbers.Text);
await context.PostAsync("Provide number two:");
context.Wait(MessageReceivedAddNumber2);
}
public async Task MessageReceivedAddNumber2(IDialogContext context, IAwaitable<IMessageActivity> argument)
{
var numbers = await argument;
var number2 = int.Parse(numbers.Text);
await context.PostAsync($"{this.number1} + {number2} is = {this.number1 + number2}");
context.Done<object>(new object());
}
任何人都可以建議,如果我失去了什麼在這裏。
感謝@EzequielJadib的info.This是有幫助的:-) – user2092402
我用shell腳本調用新進程「System.Diagnostics.ProcessStartInfo」,並嘗試使用OutputDataReceived將其重定向到對話。 @Ezequiel你能否提出建議我如何實現這一目標。我已經做了這個與WPF c#輸出重定向到文本框。提前致謝。 – user2092402
嗯...你可能不得不看ProactiveMessages ...看到https://github.com/MicrosoftDX/botFramework-proactiveMessages –