【问题标题】:UWP App can't connect to MongoDB when packed for deploy打包部署时 UWP 应用无法连接到 MongoDB
【发布时间】:2022-01-20 19:36:02
【问题描述】:

我正在使用 C# 开发一个 UWP 应用程序,并且 MongoDB 连接在开发计算机中完美运行。当我尝试将其导出并安装到其他桌面时,它不起作用。

我的目标计算机有一些特点:没有互联网,也没有 Visual Studio。我使用 Visual Studio 上的“创建应用程序包”导出我的应用程序,在目标桌面中安装所有依赖项,然后安装应用程序。

一切正常,但 MongoDB 连接。当它尝试连接到 MongoDB Serve(目标计算机上的本地安装)时,它无法连接并且我收到超时错误。

到目前为止我所知道的:

  • MongoDB 安装没有问题,我可以从 Mongo Compass 和另一台计算机上的工作“应用程序”连接到它。
  • 当我从 Visual Studio 下载远程调试工具时,我收到一条消息“正在安装缺少的库”,并且它开始工作(我必须安装新的 Windows 才能重现该问题,而无需远程调试)。
  • 我已经尝试在目标计算机上安装缺少的 NuGet 包(MongoDB.Driver、MongoDB.Bson 和 MongoDB.Driver.Core),但它似乎没有任何改变。
  • 防火墙已禁用。
  • 所有权限均已添加到 UWP 应用中。
  • 尝试在没有环回的情况下进行连接,但也无法正常工作(编辑)

目标windows版本:1809

MongoDB 软件包版本:2.9.2

Visual Studio:17

_client = new MongoClient(connectString);
_db = _client.GetDatabase(database);

BsonDocument doc = _instance._db.RunCommand((Command<BsonDocument>)"{ping:1}");
IsConnected = doc["ok"] == 1;
Logger.Log("[MONGO] Connected to MongoDB");

错误消息:“使用 CompositeServerSelector 选择服务器 30000 毫秒后发生超时......”

【问题讨论】:

  • 嗨卢卡斯,看看这里stackoverflow.com/questions/38897774/…。我认为你的问题是一样的
  • 非常感谢,可能是这个问题!星期一我会试试的。
  • @thezapper,感谢您的重播。不幸的是它没有工作:(
  • 还有其他想法吗?

标签: c# mongodb uwp


【解决方案1】:

我为此苦苦挣扎了 2 天,所以我将把答案留在这里:

checknetisolation LoopbackExempt -a -n=UWPAppPackageName

在尝试了卢卡斯所做的基本相同的事情之后:

  • 禁用防火墙
  • 在 UWP 应用上授予权限
  • 分离客户端实例化和“getDatabase”调用
  • 使用 c# 驱动程序创建与 MongoDB 连接的最小 UWP 应用
  • 测试连接另一个应用程序 (nodejs)

只有在创建包时,UWP 应用才会出现错误。

Exception: System.TimeoutException Source: MongoDB.Driver.Core Message: A timeout occurred after 30000ms selecting a server using CompositeServerSelector 

我看到了 Lucas 的话题,心里想,“不,”如果他不能让它发挥作用,就不能成为环回。但在那之后的几个小时,我还是决定尝试一下,并检查了提供的链接“thezapper”。但似乎答案中提供的命令没有正确的论点。幸运的是,我以前使用过该命令(用于卡支付设备连接),我尝试使用“-a”参数而不是“-d”。

注意:如果您正在搜索您的 UWP 包名称,请转到:

C:\Users\Username\AppData\Local\Packages\

检查最后安装的软件包以找到它。它可能是一个长而丑陋的 GUID,像这样:

89477457-1a2b-4474-94fc-b3ca50efdb96_5g1hdzhsabgzt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-01
    • 2019-10-12
    • 1970-01-01
    • 2016-08-30
    • 2020-03-24
    • 1970-01-01
    • 2021-08-13
    • 2015-11-06
    相关资源
    最近更新 更多