Conectar a um Backend do Atlas App Services - .NET SDK
Nesta página
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.
Acesse o cliente do aplicativo
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);
Configuração
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.
Conecte-se a um servidor MongoDB específico
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);
Conecte-se a um servidor MongoDB diferente durante o tempo de execução
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. await app.UpdateBaseUriAsync(new Uri("https://services.cloud.mongodb.com"));
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:
Atualize o
baseURL
chamando o métodoapp.updateBaseUrl(to: )
.Autentique e faça o login do usuário novamente com o novo
baseURL
.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.