我在Azure Web App上经常收到以下错误:
Microsoft.WindowsAzure.Storage.StorageException:无法连接到 远程服务器---> System.Net.WebException:无法连接 远程服务器---> System.Net.Sockets.SocketException:尝试 是以访问禁止的方式访问套接字 权限{Microsoft IP Number}:443
看起来几乎像是在积极地阻止我的表存储请求。
任何人都知道会发生什么事吗?我打了一些限制吗?我必须做一些Web.config连接调整吗?
我执行的代码:
var table = AppConfiguration.Account.CreateCloudTableClient().GetTableReference("Comments");
var comments = table.CreateQuery<Comment>().Where(c => c.PartitionKey == Key).ToList<Comment>();
请注意,它有95%的时间都在工作。只是在某些时刻它似乎在一段时间内(大约半小时)不稳定。
更新
在我的日志中,我也看到SQL在这段时间内遇到了同样的连接问题:
System.Data.SqlClient.SqlException(0x80131904):与网络相关或 建立连接时发生特定于实例的错误 SQL Server。服务器未找到或无法访问。校验 实例名称正确且SQL Server配置为 允许远程连接。 (提供者:TCP提供者,错误:0 - An 尝试以访问禁止的方式访问套接字 权限。)---&gt; System.ComponentModel.Win32Exception(0x80004005): 尝试以其禁止的方式访问套接字 访问权限
我是否在网络应用上遇到某种出站连接限制?
另一个注意事项:此Web应用程序托管在北欧,而SQL和表存储托管在西欧。这可能是原因还是应该没有影响?
答案 0 :(得分:0)
SQL Azure(或SQL Server在VM上)的模式是什么?我会选择使用netstat,但如果它不在本地,那么故障排除可能需要更长的时间。
将您的应用和数据库放在不同的区域应该不是问题。
答案 1 :(得分:-1)
确保解决方案的&#34;表服务&#34; 正在运行。要在运行Azure解决方案时检查其状态,标记的系统托盘中会显示两个图标。它是我们感兴趣的开发存储。要防止此错误,请启动Table Service。这就是全部。
祝你好运&amp;希望有所帮助!