Xamarin 应用程序 (Android) 无法从物理设备访问本地网络中的 mongodb 服务器
Xamarin app (Android) can't access mongodb server in local network from physical device(s)
我 运行 是一个测试环境,在我的本地网络中有多个物理 android 手机。在网络中我有一个 MongoDB 我想访问的服务器。
我无法从应用程序连接,尽管相同的代码在常规控制台应用程序中运行完美。我用谷歌搜索了这个,但我只找到了关于 localhost 的信息,(模拟器和 server/service 是 运行)
回答一些问题问题:
不,我无法创建 IP public 并从网络访问它。
是的,我试过多部手机。
是的,我已经查看了应用程序权限。
不,我不能只使用免费的在线服务,因为我正在测试数百万 write/read 请求将如何加载系统(因此我们可以判断云服务与内部托管的成本)。
是的,我已经测试过它适用于在线资源 (Azure cosmos db)。
我弄明白了,(Whosebug 因维护而停机,所以我自己继续)。
原来我在 "catch" 中遗漏了一些东西,所以它捕获了错误,什么也没做,给了我结果“{}”,因为我有一些方法调用其他 类 在 more 类 中调用更多的方法,从来没有错误消息。
工作代码,(来自 mongodb 文档的标准连接代码):
public async Task<string> LoginAsync(string name, string password)
{
if (!Ready) { Start(); }
var builder = Builders<BsonDocument>.Filter;
var filter = builder.Eq("nick", name) & builder.Eq("password", password);
string output;
try
{
var var1 = await CosmosUsersCollection.Find(filter).FirstAsync();
output = var1.ToString();
}
catch (Exception ex)
{
// important for uncovering errors
output = ex.Message;
}
return output;
}
我 运行 是一个测试环境,在我的本地网络中有多个物理 android 手机。在网络中我有一个 MongoDB 我想访问的服务器。
我无法从应用程序连接,尽管相同的代码在常规控制台应用程序中运行完美。我用谷歌搜索了这个,但我只找到了关于 localhost 的信息,(模拟器和 server/service 是 运行)
回答一些问题问题: 不,我无法创建 IP public 并从网络访问它。 是的,我试过多部手机。 是的,我已经查看了应用程序权限。 不,我不能只使用免费的在线服务,因为我正在测试数百万 write/read 请求将如何加载系统(因此我们可以判断云服务与内部托管的成本)。 是的,我已经测试过它适用于在线资源 (Azure cosmos db)。
我弄明白了,(Whosebug 因维护而停机,所以我自己继续)。
原来我在 "catch" 中遗漏了一些东西,所以它捕获了错误,什么也没做,给了我结果“{}”,因为我有一些方法调用其他 类 在 more 类 中调用更多的方法,从来没有错误消息。
工作代码,(来自 mongodb 文档的标准连接代码):
public async Task<string> LoginAsync(string name, string password)
{
if (!Ready) { Start(); }
var builder = Builders<BsonDocument>.Filter;
var filter = builder.Eq("nick", name) & builder.Eq("password", password);
string output;
try
{
var var1 = await CosmosUsersCollection.Find(filter).FirstAsync();
output = var1.ToString();
}
catch (Exception ex)
{
// important for uncovering errors
output = ex.Message;
}
return output;
}