【发布时间】:2014-05-08 00:25:10
【问题描述】:
我要开枪了。现在花了几个星期试图解决这个问题。我们有一个 ASP.NET MVC 4 Web 应用程序,它使用 SQL Server 2012 和实体框架作为 IoC 的 ORM 和 Unity。 Web 应用程序托管在 Amazon EC2 上。我开始收到“物理连接不可用”异常。它每天发生几次。我搜索了许多文章和论坛并尝试了所有可能的建议:
- 尝试从连接字符串“Polling=False”中删除池
- 尝试限制池大小和连接寿命
- 尝试将 Unity 的 LifetimeManager 更改为 HierarchicalLifetimeManager、PerRequestLifetimeManager。还确保在请求结束后处理实体上下文
- 删除了所有 TransactionScope 引用
当异常发生时,恢复应用的唯一方法就是重启服务器,这很糟糕!!!
这是完全例外:
向服务器发送请求时发生传输级错误。 (提供者:Session Provider,错误:19 - 物理连接不可用)
【问题讨论】:
-
这篇文章似乎提供了一个线索...social.msdn.microsoft.com/Forums/en-US/…。在我的连接字符串中,我使用服务器的 DNS 名称,ASP.NET MVC 应用程序托管在与 DB 相同的服务器上,因此我将连接字符串中的服务器名称更改为“。” (当地的)。我会监控并回信
-
您是否遇到过(本地)问题或您的问题再次出现?
标签: sql-server asp.net-mvc entity-framework unity-container ioc-container