Asp.net mvc Azure Web App-连接字符串在本地上有效,但在服务器上无效[EntityException:基础提供程序在打开时失败]

Asp.net mvc Azure Web App-连接字符串在本地上有效,但在服务器上无效[EntityException:基础提供程序在打开时失败],asp.net-mvc,azure,web-applications,deployment,task,Asp.net Mvc,Azure,Web Applications,Deployment,Task,我在应用程序服务中使用Azure托管了一个ASP.NET Framework 4.6.1应用程序。在使用VisualStudio的发布工具部署应用程序之后,我面临一个非常奇怪的问题 我正在使用实体框架库,它允许我从数据库中检索数据。尝试从任务中检索结果时,如下所示: Task<List<service_req>> serviceRequestsTask = context.service_req.SqlQuery("SELECT * FROM (SELECT ROW_NU

我在应用程序服务中使用Azure托管了一个ASP.NET Framework 4.6.1应用程序。在使用VisualStudio的发布工具部署应用程序之后,我面临一个非常奇怪的问题

我正在使用实体框架库,它允许我从数据库中检索数据。尝试从任务中检索结果时,如下所示:

Task<List<service_req>> serviceRequestsTask = context.service_req.SqlQuery("SELECT * FROM (SELECT ROW_NUMBER() OVER( ORDER BY id ASC) AS RowNum, * FROM [legroupetihd].[dbo].[service_req] WHERE 1 = 1) AS RowNum WHERE RowNum >= 1 AND  RowNum < 20", "service_req").ToListAsync();
//This line is causing an error 404 in production
List<service_req> serviceRequests = serviceRequestsTask.Result;
此本地数据库配置为允许远程服务器连接:


此错误通常意味着找不到SQL Server计算机,或者TCP端口号未知,或者不是正确的端口号,或者被防火墙阻止

您可以参考以下步骤来检查sql server连接

1.收集有关SQL Server实例的信息。
2.启用协议。
3.测试TCP/IP连接。
4.测试本地连接。
5.在防火墙中打开端口。
6.测试连接

有关更多详细信息,您可以参考此文档来排除连接到sql server数据库引擎的故障

另外,您可以尝试从下面的对象上下文中选择某人

using (DatabaseEntities context = new DatabaseEntities())
{
    context.Connection.Open();
    // the rest
}

我尝试了第二种解决方案,但没有成功。远程服务器的防火墙导致了该问题。经过调查,我和我的团队决定将项目从Azure移动到包含相关数据库的本地服务器,从而解决了问题。多谢各位。
Data Source="DATABASENAME, PORT";Initial Catalog=legroupetihd;Integrated Security=False;User Id=ID;Password=PASSWORD;MultipleActiveResultSets=True;
using (DatabaseEntities context = new DatabaseEntities())
{
    context.Connection.Open();
    // the rest
}