c# - 基础提供程序在打开时失败(SQL Server 2019 和 EF)
问题描述
基础提供程序在打开时失败。
System.Transactions.TransactionException:操作对于事务的状态无效
我们正在将 ASP.NET 和 SQL Server 应用程序部署到新服务器(Windows Server 2019 上的应用程序服务器和 SQL Server 在 Windows Server 2019 上,它是 SQL Server 2019)。
当我们尝试使用 Entity Framework 将事务数据TransactionScope
从 Web 服务器提交到 DB 服务器时,我们得到了这个异常:
System.Data.Entity.Core.EntityException:基础提供程序在打开时失败。
System.Transactions.TransactionException:操作对于事务的状态无效
使用 Windows Server 2012 和 SQL Server 2012 将相同的应用程序安装在另一个环境中,并且可以正常工作。
我们尝试了以下方法:
在两台服务器上启用 MSDTC。
防火墙关闭。
在 regedit 中为 msdtc 添加了端口范围,并在防火墙中允许这些端口。
解决方案
推荐阅读
- c++ - 具有特定旋转次数的数组旋转
- react-native - react-native 如何将功能组件的方法用于类组件?
- wordpress - 如何阻止通过浏览器访问文件目录?
- svn - 文件/文件夹“已经在版本控制下”
- jquery - Asp.net jQuery Ajax - 无法从 img 标签传递图像数据
- sql - 使用 int identity(1,1) 作为连接临时表的一种方式
- javascript - 为什么刷新页面后我的 WebSocket 连接关闭?
- c# - 在实体框架中将 IDENTITY_INSERT 设置为 OFF 时无法插入显式值
- r - 如何从 R/Tidyverse 中的整洁数据生成不整洁的表格?
- python - Python:读取其中一列包含多个逗号的csv文件