Я занимаюсь разработкой приложения UWP с использованием C #, и соединение MongoDB прекрасно работает на компьютере разработчика. Когда я попытался экспортировать и установить его на другой рабочий стол, это не сработало.
У меня есть некоторые особенности на целевом компьютере: нет интернета и нет Visual Studio. Я экспортирую свое приложение, используя «Создание пакетов приложений» в Visual Studio, устанавливаю все зависимости на целевой рабочий стол и устанавливаю приложение.
Все работает, кроме подключения MongoDB. Когда он пытается подключиться к серверу MongoDB (локальная установка на целевом компьютере), он не может подключиться, и я получаю сообщение об ошибке тайм-аута.
Что я знаю до сих пор:
- С установкой 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");
Сообщение об ошибке: «Превышено время ожидания после 30000 мс при выборе сервера с помощью CompositeServerSelector ....»