1

我有一个部署在 Azure 应用服务上的 ASP.NET MVC 应用程序。我正在本地调试此应用程序并使用 IIS express。Windows 10 系统上未安装 IIS。

我的代码是这样写的:用户登录正在得到这样的验证

try
{
    using(var context = new techEntities())
    {
       wtuser u = (from c in context.wtUsers
                      where c.email == email select c).FristOrDefault();

       if(u == null)
       {
            return new userOT {error = "Invalid email or password"};
       }
         
       ...
   }
}
catch(exception ex)
{
   ...
}

连接字符串:

<add name = "localsqlserver" 
connectionString = "Data Source=xxx;Initial Catalog=xxx; Integrated 
Security=true;Max Pool Size=50000;" ProviderName = "System.Data.SqlClient"/>

我通常使用 Windows 身份验证登录数据库。我希望我上面连接字符串的方式应该没有问题?

注意:我从 Azure 导出并在本地 SQL Express 2019 中导入的数据库。

但是,我收到此错误:

System.Data.EntityException:基础提供程序无法打开。

System.InvalidOperationException:超时已过期。在从池中获取连接之前超时时间已过。这可能是因为所有池连接都在使用中并且达到最大池大小。

可能是什么问题呢?如何解决这个问题?谢谢

4

1 回答 1

1

更新

在此处输入图像描述

第1步。

确保您可以使用登录本地sql serverssmsWindows authentication

第2步。

确保您的连接字符串是正确的。

您可以更改连接字符串,如下所示。有关更多详细信息,您可以在这篇文章中查看我的答案

并且建议您使用SQL语句来测试您的数据库是否可以正常使用测试demo可以用这个

<add name="DefaultConnection" connectionString="Data Source =**;Initial Catalog = {your db in server not azure};User Id = {userid};Password ={password};" />

步骤 3。

一般来说,您提供的 EF 代码片段不是很漂亮。也许只是因为示例代码,请查看本教程以使用 Visual Studio 创建实体。您也可以根据文章中的链接下载demo进行审核,并尝试修改您的代码。

当然,你也可以参考Code First 教程来创建它。使用Visual Studio进行创建可能更直观方便,易学。

于 2020-07-24T08:14:35.840 回答