【发布时间】:2019-03-25 13:48:43
【问题描述】:
由于某种原因,Azure SQL 似乎没有在我的 dotnet 核心应用程序的连接字符串中选择 MultipleActiveResultSets=True。
我的应用程序连接字符串如下所示
Server=tcp:xxx.database.windows.net,1433;Initial Catalog=xxx;User ID=xxx;Password=xxxxx;MultipleActiveResultSets=True;Encrypt=True;"
我仍然不断收到此错误
A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe.
我的所有代码在使用异步方法时都有等待,所以我不知道还能做什么,因为此代码适用于本地 sql。
我正在将 DI 与我的 DbContext 一起使用并添加这样的服务
services.AddDbContext<Models.Database.DBContext>();
任何帮助将不胜感激。
更新
问题出在我的 Startup.cs 中。我错过了。 OnTokenValidated 有一个调用 dbcontext 的方法,但我从未等待结果。没有看到来自 IDE 的任何错误,通常它会警告您不要等待异步方法。使用 await 更新了方法并添加了 OnTokenValidated = async 上下文。现在一切都好。
【问题讨论】:
-
谢谢,我看了一下帖子,但仍然没有解决问题。
标签: azure asp.net-core .net-core azure-sql-database azure-web-app-service