如何将 ms-botframework 连接到 azure 数据库

how to connect ms-botframework to azure database

如何将 .Net 应用程序 BotFramework 连接到数据库并将数据存储在 MS SQL azure 中?

我想在数据库中使用存储过程并保存发送和接收的消息。

代码示例 如果我将连接字符串用于 localdb 或本地服务器

,则此代码有效

网络配置

  <connectionStrings>
    <add name="[ConnStr]" connectionString="Data Source=[SiteURL].database.windows.net;Initial Catalog=[Name];Persist Security Info=True;User ID=[User];Password=[Password]" providerName="System.Data.SqlClient" />
  </connectionStrings>

... MessagesController.cs

[BotAuthentication]
    public class MessagesController : ApiController
    {
        /// <summary>
        /// POST: api/Messages
        /// Receive a message from a user and reply to it
        /// </summary>
        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");
                LogMessage();
                await connector.Conversations.ReplyToActivityAsync(reply);
            }
            else
            {
                HandleSystemMessage(activity);
            }
            var response = Request.CreateResponse(HttpStatusCode.OK);
            return response;
        }

...

private void LogMessage()
{
    var context = new DataClasses1DataContext(ConfigurationManager.ConnectionStrings["[ConnStr]"].ConnectionString);


    var newMessage = new Table1
    {
        Table101 = newID()
        ,
        Table102 = DateTime.Now
        ,
        Table103 = 0
        ,
        Table104 = "Test"
        ,
        Table105 = "Test2"
        ,
        Table106 = "Test3"
        ,
        Table107 = 0
        ,
        Table108 = "Test4"
        ,
        Table109 = 0
    };

    context.Table1.InsertOnSubmit(newMessage);
    context.Table1.Context.SubmitChanges();
}

谢谢大家,我没有找到我的问题的解决方案并重新创建所有示例项目并且它的工作。

此问题中的示例代码有效

我认为一定接近