【问题标题】:Azure web service cannot connect to databaseAzure Web 服务无法连接到数据库
【发布时间】:2016-05-06 17:14:12
【问题描述】:

我已经在 Azure 上创建了一个 Web 服务和一个 SQL 数据库,我已经部署了我的 Asp.net Web 应用程序并将我的数据库上传到 Azure SQL 服务器。之后我创建了一个连接字符串来将我的网络应用程序连接到数据库,但我的网络应用程序无法连接到数据库。

【问题讨论】:

  • 您收到的错误信息是什么?您是否正确配置了防火墙规则?
  • 在防火墙部分的“允许访问 Azure 服务”已打开。它只是返回超时。
  • 您可以使用门户使用指定的凭据手动连接到数据库吗?
  • 是的,我使用了门户网站,所有关于连接的事情都很好。

标签: azure


【解决方案1】:

嗯,我也有这个问题。我的问题的原因是我的发布设置。

我的问题总结,
我使用 Visual Studio(VS) 使用默认发布设置将我的应用服务发布到 azure,即使我可以访问前端内容,我也无法访问后端服务。对于数据库操作,我使用了实体框架和迁移。

对于本地机器,一切都很好,但在 azure 上却不行。

回答,
我在发布模式窗口的“设置”步骤中简单地取消选中“执行代码优先迁移”复选框,在天蓝色上一切都很好,但我遇到了另一个问题,根本没有迁移。为了解决迁移问题,我在Global.asax.cs添加了一个小代码:

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    GlobalConfiguration.Configure(WebApiConfig.Register);
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);

    // For migration
    try
    {
        System.Data.Entity.Database.SetInitializer(
            new System.Data.Entity.MigrateDatabaseToLatestVersion<MyWebApp.Contexts.ApplicationDbContext, MyWebApp.Migrations.Configuration>());
        var context = MyWebApp.Contexts.ApplicationDbContext.Create();
        context.Roles.Find("JustForDBMigrationKick");
        context.Dispose();
    }
    catch (System.Exception e)
    {
        // Ooops, something went wrong
    }
}

【讨论】:

    【解决方案2】:

    一个快速修复(我这样做的方式)是使用链接资源通过应用程序设置刀片将 SQL 数据库数据库添加到您的网站:https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/

    【讨论】:

    • 添加,看起来 OP 正在尝试配置移动 > 数据连接。此外,门户中的视图与屏幕截图有些不同(至少与我看到的不同),但在垂直菜单的下方仍有一个“设置”>“应用程序设置”选项。
    猜你喜欢
    • 1970-01-01
    • 2011-06-08
    • 2020-09-29
    • 1970-01-01
    • 2016-09-05
    • 2012-08-04
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多