问题描述
我在从运行在 microsoft azure 上的 C# 函数连接到 MongoDB 时遇到问题.该函数是时间触发的,它应该从MongoDB收集一些数据并将它们放入存储队列.
I have a problem connecting to a MongoDB from a C# function running on microsoft azure. The function is time triggered, it should collect some data from MongoDB and put them to storage queue.
我已将 mongoDB 依赖项添加到 to project.json,文件如下所示:
I have added mongoDB dependencies to the to project.json and this is what the file looks like:
{
"frameworks": {
"net46":{
"dependencies": {
"MongoDB.Bson": "2.4.2",
"MongoDB.Driver": "2.4.2",
"MongoDB.Driver.Core": "2.4.2",
"System.Runtime.InteropServices.RuntimeInformation": "4.0.0"
}
}
}
}
但是当我打电话时:
MongoClientSettings settings = MongoClientSettings.FromUrl(new MongoUrl(conn));
settings.SslSettings = new SslSettings() { EnabledSslProtocols = SslProtocols.Tls12 };
var client = new MongoClient(settings);
调用最后一行后出现错误:
I get an error after the last line is called:
mscorlib: Exception has been thrown by the target of an invocation. MongoDB.Driver.Core: Could not load file or assembly 'System.Runtime.InteropServices.RuntimeInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
我检查过,.net 版本是 4.6,所以应该没有问题.我还有什么遗漏的吗?
I've checked and .net version is 4.6 so there should be no problem with that. Is there anything else I am missing.
推荐答案
我一直在挖掘他们的 JIRA 问题,发现 JIRA 问题.我已将 MongoDB.Driver
MongoDB.Driver.Core
和 MongoDB.Bson
恢复到 2.3.0 版本,它工作得很好调整手表,所以这似乎是 Mongo 包本身的问题.
I've been digging a bit through their JIRA issues and found JIRA ISSUE. I've reverted the MongoDB.Driver
MongoDB.Driver.Core
and MongoDB.Bson
to a version 2.3.0 and it work like a fine tuned watch, so it seems to be the problem with the Mongo package itself.
我已经用不同版本的包对其进行了测试,这个问题是在 2.4.0 版本中引入的.所有以前的版本都运行良好.
I've tested it with the different versions of the package and the issue is introduced in the version 2.4.0. All the previous versions work well.
这篇关于从 azure 函数连接到 MongoDB的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!