【问题标题】:.net mongodb version 2.2 timeout exception.net mongodb 2.2版超时异常
【发布时间】:2015-12-30 20:47:57
【问题描述】:

我在 .net 中使用过 mongoDb 我已经从 mongodb .net 核心版本 2.2 的 Visual Studio 插件管理器加载了 mongodbdriver 核心和 BSon * 现在,当我尝试创建一个数据库并向其中添加一些集合时。 它给了我一个如下错误:

public async void insert(FilePath file)
{
    try
    {
        IMongoCollection<FilePath> collection = _db.GetCollection<FilePath>("FilePath");
        await collection.InsertOneAsync(file);
    }
    catch { };
}

例外:

在选择服务器 30000 毫秒后发生超时 CompositeServerSelector{ Selectors = WritableServerSelector, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 } }。集群状态的客户端视图是 { ClusterId : "1", ConnectionMode :“自动”,类型:“未知”,状态:“断开连接”,服务器:[{ ServerId:“{ ClusterId:1,端点:“未指定/本地主机:27017” }",端点:

【问题讨论】:

  • 首先,您需要将async void 替换为async Task。并使用await 致电insert
  • 我都试过了。我认为在经过一番谷歌搜索后,这个 2.2 版中存在一些错误,我在下面找到了答案。谢谢
  • 这里的问题不在于它的异步或任务。我问你打开并清楚地了解连接超时。如果您有这种类型的解决方案,请添加评论...

标签: c# mongodb


【解决方案1】:

首先检查mongo服务器是否在运行。

可能你还没有启动 Mongo 服务器。

打开一个shell并输入

mongod

在文件系统上,可以从$MONGO_INSTALL_PATH/bin/mongod启动。

不要关闭 shell 然后再次尝试运行您的代码。

更多信息:

MongoClient mongo = new MongoClient("locahost", 27017);

但是当将“locahost”更改为“127.0.0.1”时解决了

MongoClient mongo = new MongoClient("127.0.0.1", 27017);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-02
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 2019-06-20
    • 1970-01-01
    相关资源
    最近更新 更多