有时,我们的 Web 应用程序会抛出:
System.Data.SqlClient.SqlException (0x80131904):建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)---> System.ComponentModel.Win32Exception (0x80004005):找不到网络路径
现在我在谷歌上搜索了有关此错误的各种变体,但似乎都指向目标 SQL 服务器已关闭或不接受远程连接或连接字符串有问题的事实。
但是我的情况不同,我肯定可以访问 SQL Server(单独的机器,同一局域网)并且该应用程序大部分时间都正常运行,但在某些情况下它开始生成这些错误。然后,显然,他们自己停下来,然后随机地重新开始。同一服务器上的其他应用程序到同一 SQL Server(尽管不同的数据库)在同一时期也会抛出这些错误。
我在两台服务器之间留下了连续的 ping,我可以确认在此期间两台服务器之间都有 IP 连接。
这个问题的原因可能是什么?接下来我可以检查什么?
我们最近开始测试 Cosmos DB 作为我们奥尔良集群的持久存储。
我们的 Cosmos DB 方案是作为具有低延迟和大量替换、点读取和创建的键值存储。因此,我们的文档 ID 和分区键是相同的,因此基本上每个分区 1 个文档。
但是,在 Cosmos DB Insights 中,我们看到我们达到了 100% 标准化 RU 消耗:
当我们深入挖掘时,我们会看到一个热图,它在 PartitionKeyRangeID 0 上放置了 100% RU 消耗,而没有其他 PartitionKeyRanges 可用。

我的理解是,由于我们有与文档一样多的分区,我们应该会遇到这个问题。我也不确定 PartitionKeyRangeID 0 表示什么,因为我们应该至少有几千个分区
我和我的同事一直在讨论异步程序.
例:
ws.GetAllEventsAsync("123", "123");
ws.GetAllEventsCompleted += new awc5ws.events.GetAllEventsCompletedEventHandler(ws_GetAllEventsCompleted);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,ws是一个Web服务(asmx).
现在,第一行代码是否有可能在编译器到达第二行之前执行并完成,因此不执行回调函数.
那么在这种情况下,在实际执行Web方法之前附加事件处理程序回调会更有意义吗?像这样:
ws.GetAllEventsCompleted += new awc5ws.events.GetAllEventsCompletedEventHandler(ws_GetAllEventsCompleted);
ws.GetAllEventsAsync("123", "123");
Run Code Online (Sandbox Code Playgroud)
我不知道我在这里有多大意义,但我希望你能理解我的观点.如果你能详细而不是肯定或不答案,我将不胜感激.
提前致谢
我在西欧的Windows Azure上部署了一个应用程序.但是,已分配的IP(168.63.108.xx)在http://cqcounter.com/whois/上标记为在美国.
我的部署有问题吗?如果没有,它在美国展出的原因是什么?
提前致谢
c# ×2
ip ×2
.net ×1
asp.net ×1
asynchronous ×1
azure ×1
cloud ×1
database ×1
orleans ×1
sql-server ×1