【问题标题】:Connection String for Connecting Azure SQL Server database in Bot Framework's web.config file用于在 Bot Framework 的 web.config 文件中连接 Azure SQL Server 数据库的连接字符串
【发布时间】:2016-09-28 15:01:35
【问题描述】:

当我尝试使用云数据库在本地模拟器中运行机器人时。它正在工作。

但是当我在 Azure 中将它作为 WebApp+SQL 托管时它不起作用。

端点授权成功当我尝试在 dev.botframework.com 中测试连接时,但我没有得到任何回复。

这是我使用的连接字符串

    <connectionStrings>
        <add name="DBCS" 
         connectionString="Data Source=xxx.database.windows.net,1433;
          Initial Catalog=<dbname>;
          Integrated Security=False; 
          TrustServerCertificate=False;
          User ID=yyy@xxx;
          Password=####;
          Connection Timeout=30" />
    <connectionStrings>

【问题讨论】:

  • 所以.. 机器人一旦部署到 azure 就无法工作,或者机器人工作但与数据库的连接失败?
  • 如果我在没有 appid 和密码但使用 azure dbserver 的模拟器中运行它。它工作正常。尝试使用已创建的机器人 ID 和密钥进行操作。而且它不起作用。
  • 那么当您使用机器人ID和密码时,机器人在模拟器中不起作用?或者是什么时候部署的?如果您评论与数据库的交互,它是否有效?
  • 是的……没错。如果我提供 appid 和密码,机器人将无法工作。如果删除应用程序 ID 和密码并在 localhost 中运行它可以正常工作。我还尝试创建一个新的应用服务。那也没有用。我尝试评论数据库交互。不过,我没有得到任何回复。
  • 您是否正在使用 botID、应用 ID 和应用密码更新 web.config?

标签: azure azure-sql-database azure-web-app-service botframework


【解决方案1】:

您是否已将机器人的 IP 地址列入 SQL Server 的白名单?如果您不确定 IP 地址是什么,请尝试将所有 IP 地址列入白名单,看看是否有帮助。

【讨论】:

  • 我已授予 0.0.0.0 和 255.255.255..0 的 IP 权限
【解决方案2】:

问题现已解决。

我从 web.config 文件中删除了数据库连接字符串,并在 Azure Web App 服务 -> 应用程序设置中对其进行了配置。

我在通过 ConfigurationManager.connectionString 创建时给出了我在 MessageController.cs 中给出的连接字符串名称

 ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString

此外,我将 BotBuilder 从 v3.0.0 更新到 v3.0.1,因为它修复了我在代码中使用的 Bot.Connector 的错误。

这两项更改都有帮助。

【讨论】:

  • 听起来不错。如果问题出在模拟器中,我不确定在 Azure Web App 中添加连接字符串(在模拟器中运行时未使用)如何帮助解决问题。可能 BotBuilder 问题与您看到的行为更相关。
  • 没有。在模拟器中运行时。我不得不使用连接字符串,在 azure 中部署时我将其删除并发布。是的。。可能。机器人生成器也是。
猜你喜欢
  • 1970-01-01
  • 2015-03-30
  • 2015-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-24
相关资源
最近更新 更多