Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ /

连接到 Atlas App Services 后端 - .NET SDK

在此页面上

  • 访问应用程序客户端
  • 配置
  • 连接到特定MongoDB Server
  • 在运行时连接到不同的MongoDB Server

应用客户端是与 App Services 后端的接口。 它提供对身份验证功能同步管理的访问。

传递应用的 App ID ,您可以在Realm 用户界面中找到该 ID。

var myRealmAppId = "<your_app_id>";
var app = App.Create(myRealmAppId);

对于大多数使用案例,您只需要应用程序的 App ID即可连接到App Services。 为了对应用连接进行精细控制,例如自定义连接超时和日志级别,您可以选择将AppConfiguration对象传递给App.Create()方法。 以下示例设置了 LogLevel 和请求超时:

var appConfig = new AppConfiguration(myRealmAppId)
{
DefaultRequestTimeout = TimeSpan.FromMilliseconds(1500)
};
app = App.Create(appConfig);

您可以创建多个应用客户端实例以连接多个应用。 股票相同 App ID的所有 App客户端实例使用相同的根本的连接。

默认情况下,Atlas Device SDK 使用https://services.cloud.mongodb.com的全局 baseURL连接到 Atlas。 在某些情况下,您可能想要连接到不同的服务器:

  • 您的 App Services App 使用本地部署,并且您希望直接连接到您所在区域的本地baseURL

您可以在AppConfiguration中指定baseURL

// Specify a base URL to connect to a server other than the default.
var appConfig = new AppConfiguration(YOUR_APP_ID);
appConfig.BaseUri = new Uri("http://localhost:80");
var app = App.Create(appConfig);

12.1.0版本新增

在某些情况下,您可能希望在应用运行时更改baseURL 。 要在运行时更改baseURL ,请调用应用的 .UpdateBaseUriAsync()方法:

// Specify a baseURL to connect to a server other than the default.
// In this case, an Edge Server instance running on the device
var appConfig = new AppConfiguration(YOUR_APP_ID);
appConfig.BaseUri = new Uri("http://localhost:80");
var app = App.Create(appConfig);
// ... log in a user and use the app ...
// Update the base URL back to the default.
#pragma warning disable Rlm001 // suppress the warning for the experimental method
await app.UpdateBaseUriAsync(new Uri("https://services.cloud.mongodb.com"));
#pragma warning restore Rlm001

此API是实验性的。 如上所示,您必须使用#pragma warning disable Rlm001#pragma warning restore Rlm001来抑制实验误差,其中Rlm001是实验属性的diagnosticId

如果要在用户登录并打开同步数据库后更改baseURL ,则应用必须执行客户端重置。 在代码中执行以下步骤:

  1. 暂停同步会话。

  2. 通过调用app.updateBaseUrl(to: )方法更新baseURL

  3. 使用新的baseURL再次对用户进行身份验证并登录。

  4. 打开从新服务器提取数据的同步数据库。

服务器和客户端都必须在线,用户才能进行身份验证并连接到新服务器。 如果服务器不在线或客户端没有网络连接,则用户无法进行身份验证并打开数据库。

重要

初始化应用后更改应用配置

在版本 v 11.7.0中进行了更改BaseUri未缓存在应用配置中

初始化 App客户端时,会在内部缓存配置。 尝试在同一进程中关闭并重新打开配置已更改的应用无效。 客户端继续使用缓存的配置。

在.NET SDK 11.7.0及更高版本中, BaseUri不再缓存在应用配置中。 这意味着您可以更改BaseUri ,应用客户端将使用更新后的配置。 在早期 SDK 版本中,对缓存的应用配置中的BaseUri进行更改无效。

后退

应用程序服务