0

我在最后几天开发了一个网页(http://www.srtbox.com/)来测试我的架构,更多信息在这里。使用 NoRM、MongoLab 或 MongoHQ 进行数据库托管。我对 NoRM 有很多错误。全部使用 Norm.BSON.BsonDeserializer 类。我可以修复一个,但现在我在连接中遇到了一些错误。错误:

System.Net.Sockets.SocketException 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应

System.IO.IOException: Unable to read data from the transport connection: 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应。---> System.Net.Sockets.SocketException: 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机在 System.Net.Sockets.NetworkStream 没有响应。 Read(Byte[] buffer, Int32 offset, Int32 size) --- 内部异常堆栈跟踪结束 --- 在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) 在 System. IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count) at System.IO.BinaryReader.ReadBytes(Int32 count) at Norm.BSON.BsonDeserializer。

事实上,这个 NoRM 驱动程序似乎真的很不稳定......官方驱动程序不提供 Linq 支持,我没有找到一个带有 POCO 对象的示例。有人对 NoSQL 数据库和 asp.net 有很好的经验?像 MongoDB 一样可扩展?RavenDB 似乎是一个不错的选择,但 MongoDB 有更多的成功案例,当然没有 .Net 。

所以最大的问题是:您会为 ASP.Net 推荐哪种 NoSQL Scalable DB?你有成功案例吗?

PD:如果您访问我的网站( http://www.srtbox.com/)进行测试,我将不胜感激。

4

1 回答 1

1

这看起来像是网络错误,而不是驱动程序的问题。如果数据库不是本地数据库,您将看到如果您的连接不好或没有正确设置防火墙 - 您可以在代码中做很多不同的事情来更改它。尝试将单个连接保持打开太久也会导致连接错误。

大多数可用的 NoSQL 数据库都可以很好地与 .NET 配合使用,因此您可以根据功能需求而不是 .NET 兼容性进行选择。但是,您不应该期望它像 SQL 一样工作或有那么多示例 - 它们中的大多数主要用于其他平台,并且由于它们都有不同的运行查询方式,因此 LINQ 并不总是适合。

另外,你说的 POCO 是什么意思?序列化属性可以使类看起来很复杂,但它们只是常规对象,而不是您从典型 ORM 获得的延迟加载的自更新对象。

于 2011-06-24T02:27:41.260 回答