【发布时间】:2013-05-11 07:40:03
【问题描述】:
我已成功将 Umbraco 4.7 实施到 Windows Azure 网站和 SQL Azure,但有时我会收到类似以下错误:
SQL helper exception in ExecuteScalar ---> System.Data.SqlClient.SqlException: A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) --->
似乎 Umbraco 不管理重试逻辑(sql azure 瞬态故障处理)。有没有人知道在 umbraco 方面实现这一点的任何非创伤性方法?
【问题讨论】:
-
请使用 SQLAzure 迁移向导工具将数据库从您的服务器迁移到 azure 服务器,然后在您的 umbraco 的 webconfig 中更改连接字符串和 appsettings(key=UmbracoDSN)
-
我已经这样做了,我的网站运行良好。只有大约 1% 的时间我会收到这样的错误。这是因为 SQL Connection Throttling,服务被设计为以这种方式工作,并且必须在数据访问层上实现重试逻辑,以便在第一个失败时重试。
-
你好。我过去遇到过同样的错误。我启用了缓存,这减少了数据库的负载,从而修复了它。您是否尝试过启用缓存以查看是否可以解决问题?
-
你在使用 SQL 会话状态管理吗?还是您使用的是 AppFabric 缓存?
-
它实际上是在使用 InProc,因为我只有一个服务器实例在运行,所以没有更改它
标签: azure umbraco azure-sql-database