Can";“弹性数据库事务”;是否使用Azure功能和/或应用程序服务?
跨多个SQL Azure数据库的文档提到运行事务的环境的来宾操作系统必须具有.NET 4.6.1。Azure功能和/或应用程序服务就是这样吗?应用程序服务(和功能)在.NET 4.7上运行: (2017年8月)应用程序服务(和功能)正在.NET 4.7上运行:Can";“弹性数据库事务”;是否使用Azure功能和/或应用程序服务?,azure,azure-sql-database,azure-web-app-service,azure-functions,Azure,Azure Sql Database,Azure Web App Service,Azure Functions,跨多个SQL Azure数据库的文档提到运行事务的环境的来宾操作系统必须具有.NET 4.6.1。Azure功能和/或应用程序服务就是这样吗?应用程序服务(和功能)在.NET 4.7上运行: (2017年8月)应用程序服务(和功能)正在.NET 4.7上运行: (2017年8月)我刚刚使用以下代码在Azure Web App上测试了分布式事务。如果在invoke scope.Complete之前抛出异常,事务将回滚,记录将不会保存到表中。这证明Azure应用程序服务确实支持弹性数据库事务 u
(2017年8月)我刚刚使用以下代码在Azure Web App上测试了分布式事务。如果在invoke scope.Complete之前抛出异常,事务将回滚,记录将不会保存到表中。这证明Azure应用程序服务确实支持弹性数据库事务
using (var scope = new TransactionScope())
{
using (var conn1 = new SqlConnection(azureSqlConnStrDb1))
{
conn1.Open();
SqlCommand cmd1 = conn1.CreateCommand();
cmd1.CommandText = string.Format("insert into T1 values(3)");
cmd1.ExecuteNonQuery();
}
using (var conn2 = new SqlConnection(azureSqlConnStrDb2))
{
conn2.Open();
var cmd2 = conn2.CreateCommand();
cmd2.CommandText = string.Format("insert into T2 values(4)");
cmd2.ExecuteNonQuery();
}
throw new Exception("I am a exception");
scope.Complete();
}
我刚刚使用以下代码在Azure Web App上测试了分布式事务。如果在invoke scope.Complete之前抛出异常,事务将回滚,记录将不会保存到表中。这证明Azure应用程序服务确实支持弹性数据库事务
using (var scope = new TransactionScope())
{
using (var conn1 = new SqlConnection(azureSqlConnStrDb1))
{
conn1.Open();
SqlCommand cmd1 = conn1.CreateCommand();
cmd1.CommandText = string.Format("insert into T1 values(3)");
cmd1.ExecuteNonQuery();
}
using (var conn2 = new SqlConnection(azureSqlConnStrDb2))
{
conn2.Open();
var cmd2 = conn2.CreateCommand();
cmd2.CommandText = string.Format("insert into T2 values(4)");
cmd2.ExecuteNonQuery();
}
throw new Exception("I am a exception");
scope.Complete();
}
这可能不是一回事。请看一下链接。@Sentinel我已经读过了,我的理解是它们是一样的。你认为不支持的具体原因是什么?是的,他们说不支持在应用程序服务上更改“来宾操作系统”。用于更改.NET framework的功能已经存在很久了,因此我假设IIS进程的版本可能与机器上配置的.NET framework版本不同,这可能是不同的。请看一下链接。@Sentinel我已经读过了,我的理解是它们是一样的。你认为不支持的具体原因是什么?是的,他们说不支持在应用程序服务上更改“来宾操作系统”。用于更改.NET framework的功能已经存在很久了,因此我假设IIS进程的版本可能与计算机上配置的.NET framework版本不同