Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ /

Conectar a um Backend do Atlas App Services - .NET SDK

Nesta página

  • Acesse o cliente do aplicativo
  • Configuração
  • Conecte-se a um servidor MongoDB específico
  • Conecte-se a um servidor MongoDB diferente durante o tempo de execução

O cliente do aplicativo é a interface para o backend do App Services. Ele fornece acesso à funcionalidade de autenticação, funções e gerenciamento de sincronização.

Passe o ID do aplicativo para seu aplicativo, que você pode encontrar na interface do Realm UI.

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

Na maioria dos casos de uso, você só precisa do ID do aplicativo para se conectar ao App Services. Para obter um controle granular da conexão do aplicativo, como tempos limite personalizados para conexões e o nível de registro, você pode opcionalmente passar um objeto AppConfiguration para o método App.Create() . O exemplo a seguir define o LogLevel e o tempo limite da solicitação:

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

Você pode criar várias instâncias do cliente de aplicativo para se conectar a vários aplicativos. Todas as instâncias de cliente de aplicativo que compartilham a mesma ID de aplicativo usam a mesma conexão subjacente.

Por padrão, o Atlas Device SDK se conecta ao Atlas usando o baseURL global do https://services.cloud.mongodb.com. Em alguns casos, você pode querer se conectar a um servidor diferente:

  • Seu App Services App usa o sistema local e você deseja se conectar diretamente a um baseURL local em sua região.

Você pode especificar um baseURL no AppConfiguration.

// 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);

Novidades na versão 12.1.0.

Em alguns casos, você pode querer alterar o baseURL enquanto o aplicativo está em execução. Para alterar o baseURL durante o tempo de execução, chame o método app.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

Esta API é experimental. Como visto acima, você deve usar #pragma warning disable Rlm001 e #pragma warning restore Rlm001 para suprimir os erros experimentais, onde Rlm001 é o diagnosticId dos atributos experimentais.

Se você quiser alterar o baseURL depois de fazer login em um usuário e abrir um banco de banco de dados sincronizado, o aplicativo deverá executar uma reinício do cliente. Execute estas etapas no seu código:

  1. Pause a sessão de sincronização.

  2. Atualize o baseURL chamando o método app.updateBaseUrl(to: ) .

  3. Autentique e faça o login do usuário novamente com o novo baseURL.

  4. Abra um banco de dados de dados sincronizado extraindo dados do novo servidor.

Tanto o servidor quanto o cliente devem estar online para que o usuário se autentique e se conecte ao novo servidor. Se o servidor não estiver online ou o cliente não tiver uma conexão de rede, o usuário não poderá autenticar e abrir o banco de dados de dados.

Importante

Alterando uma configuração de aplicativo após inicializar o aplicativo

Alterado na versão v11.7.0: BaseUri não está armazenado em cache na configuração da aplicação

Quando você cliente o , a configuração é armazenada em cache internamente. A tentativa de fechar e reabrir uma aplicação com uma configuração alterada dentro do mesmo processo não tem efeito. O cliente continua usando a configuração em cache.

No .NET SDK versão 11.7.0 e posterior, o BaseUri não é mais armazenado em cache na configuração do aplicativo. Isso significa que você pode alterar o BaseUri e o cliente da aplicação usará a configuração atualizada. Nas versões anteriores do SDK, as alterações no BaseUri em uma configuração de aplicação em cache não têm efeito.

Voltar

Serviços de aplicativos