IPowerPortalsProService
L’interface IPowerPortalsProService fournit des méthodes pour effectuer des opérations CRUD, exécuter des requêtes, gérer les relations et récupérer des métadonnées depuis Dataverse. C’est le principal service d’accès aux données côté serveur dans PowerPortalsPro.
Note
Dans la plupart des cas, vous n’avez pas besoin d’appeler
IPowerPortalsProServicedirectement. LesRecordContextcomposants ,MainContext, et grid gèrent automatiquement les opérations de données. Utilisez ce service pour une logique personnalisée qui sort du flux de travail standard des composants.
Implémentations serveur et client
IPowerPortalsProService livré avec deux implémentations enregistrées automatiquement par le framework — votre code composant est identique contre les deux, et l’exécution injecte celle correspondant au contexte de rendu actif :
- Implémentation serveur (
PowerPortalsPro.Web.Server, enregistrée parAddPowerPortalsProWebServer) — s’exécute en cours, communique directement avec Dataverse viaIOrganizationService, et applique vosITablePermissionProviderenregistrements avant toute lecture ou écriture. Sélectionné lorsque la page est affichée sousInteractiveServerRenderModeou sous SSR statique. - Implémentation client (
PowerPortalsPro.Web.Client, enregistrée parAddPowerPortalsProWebClient) — s’exécute dans le navigateur via WebAssembly, ne possède aucun SDK Dataverse, et sérialise à la place chaque appel en JSON vers le point de terminaison HTTP côté serveur correspondant (/api/table/{name},/api/retrieveMultiple, etc.). Les gestionnaires de permissions s’appliquent toujours car la requête se retrouve sur le point d’arrivée du serveur. Consultez la page API client pour le format de câble et les routes appelées par l’implémentation client.
Parce que le contrat est identique, le même composant fonctionne sous n’importe quel mode d’interactivité (Serveur, WebAssembly ou Auto). Le code qui appelle _powerPortalsProService.RetrieveRecordAsync(...) une page rendue par serveur effectue un appel Dataverse en cours ; la même ligne dans une page rendue par WASM émet une requête HTTP — aucun branchement nécessaire.
Injection du Service
Injecter IPowerPortalsProService dans tout composant ou service Blazor via l’injection de constructeur ou de propriété.
// usePowerPortalsPro() renvoie le client typé que le framework distribue
// chaque appel CRUD à travers. L’objet 'ppp' expose récupérer / créer /
// mettre à jour / supprimer / associer / exécuter Plusieurs méthodes / métadonnées / fichiers
// par rapport à l’environnement Dataverse configuré.
import { usePowerPortalsPro } from '@powerportalspro/react';
function MyComponent() {
const { ppp } = usePowerPortalsPro();
// ...
}[Inject]
private IPowerPortalsProService _powerPortalsProService { get; set; } = null!;Récupérer un dossier
Utilisez RetrieveRecordAsync pour récupérer un seul enregistrement par nom de table et ID. Spécifiez optionnellement quelles colonnes retourner ; si elles sont omises, toutes les colonnes sont retournées.
// Récupérer toutes les colonnes
const account = await ppp.retrieveRecordAsync('account', accountId);
// Récupérer uniquement des colonnes spécifiques
const account = await ppp.retrieveRecordAsync('account', accountId, [
'name', 'telephone1', 'address1_city',
]);// Récupérer toutes les colonnes
var account = await _powerPortalsProService.RetrieveRecordAsync("account", accountId);
// Récupérer uniquement des colonnes spécifiques
var account = await _powerPortalsProService.RetrieveRecordAsync("account", accountId,
new[] { "name", "telephone1", "address1_city" });Requête de plusieurs enregistrements
Utilisez RetrieveRecordsAsync avec une chaîne de requête FetchXML pour récupérer plusieurs enregistrements avec filtrage, tri et support des entités liées.
const fetchXml = `<fetch>
<entity name='contact'>
<attribute name='fullname' />
<attribute name='emailaddress1' />
<filter>
<condition attribute='parentcustomerid' operator='eq' value='...' />
</filter>
<order attribute='fullname' />
</entity>
</fetch>`;
const response = await ppp.retrieveRecordsAsync(fetchXml);
for (const record of response.tableRecords) {
// Traiter chaque enregistrement
}var fetchXml = @"<fetch>
<entity name='contact'>
<attribute name='fullname' />
<attribute name='emailaddress1' />
<filter>
<condition attribute='parentcustomerid' operator='eq' value='...' />
</filter>
<order attribute='fullname' />
</entity>
</fetch>";
var response = await _powerPortalsProService.RetrieveRecordsAsync(fetchXml);
foreach (var record in response.TableRecords)
{
// Traiter chaque enregistrement
}Création d’un dossier
Utilisez-le CreateRecordAsync pour créer un nouvel enregistrement dans Dataverse. La réponse contient l’ID du nouvel enregistrement créé.
// TableRecord utilise une carte de « propriétés » d’objets ColumnValue tapés à clé
// par nom de colonne. L’aide createTableRecord construit la forme du fil et
// estampille un « _idForCreate » temporaire afin que les références croisées puissent être résolues
// à l’intérieur d’un seul lot Create + Associate avant que le serveur n’attribue le
// Real ID.
import { createTableRecord } from '@powerportalspro/react';
const newContact = createTableRecord('contact', {
firstname: { type: 'string', value: 'John' },
lastname: { type: 'string', value: 'Doe' },
});
const response = await ppp.createRecordAsync(newContact);
const newRecordId = response.id;var newContact = new TableRecord { TableName = "contact" };
newContact["firstname"] = new StringValue("John");
newContact["lastname"] = new StringValue("Doe");
var response = await _powerPortalsProService.CreateRecordAsync(newContact);
var newRecordId = response.Id;Mise à jour d’un enregistrement
À utiliser UpdateRecordAsync pour mettre à jour un enregistrement existant. Seules les propriétés définies sur le TableRecord sont envoyées à Dataverse.
const recordToUpdate = createTableRecord('contact', {
telephone1: { type: 'string', value: '555-1234' },
}, { id: contactId });
await ppp.updateRecordAsync(recordToUpdate);var recordToUpdate = new TableRecord
{
TableName = "contact",
Id = contactId
};
recordToUpdate["telephone1"] = new StringValue("555-1234");
await _powerPortalsProService.UpdateRecordAsync(recordToUpdate);Suppression d’un enregistrement
À utiliser DeleteRecordAsync pour supprimer un enregistrement par le nom de la table et l’ID.
await ppp.deleteRecordAsync('contact', contactId);await _powerPortalsProService.DeleteRecordAsync("contact", contactId);Records associés
Utilisez AssociateAsync et DisassociateAsync gérez les relations de plusieurs-à-plusieurs entre les enregistrements.
// Associé
const account = { tableName: 'account', id: accountId };
const regions = [
{ tableName: 'ppp_region', id: regionId1 },
{ tableName: 'ppp_region', id: regionId2 },
];
await ppp.associateAsync(account, 'ppp_Account_ppp_Region_ppp_Region', regions);
// Dissociation
await ppp.disassociateAsync(account, 'ppp_Account_ppp_Region_ppp_Region', regions);// Associé
var account = new TableRecordReference("account", accountId);
var regions = new List<TableRecordReference>
{
new TableRecordReference("ppp_region", regionId1),
new TableRecordReference("ppp_region", regionId2),
};
await _powerPortalsProService.AssociateAsync(account, "ppp_Account_ppp_Region_ppp_Region", regions);
// Dissociation
await _powerPortalsProService.DisassociateAsync(account, "ppp_Account_ppp_Region_ppp_Region", regions);Exécution des requêtes
Utilisez ExecuteAsync pour une seule requête ou ExecuteMultipleAsync pour exécuter plusieurs requêtes dans une même transaction de base de données. Si une requête dans un lot transactionnel échoue, toutes les modifications sont annulées.
// Exécutez plusieurs requêtes dans une seule transaction. Chaque requête est un objet à union étiquetée discriminé par « type ».
const requests = [
{ type: 'create', record: contact },
{ type: 'update', record: account },
];
const responses = await ppp.executeMultipleAsync(requests, { returnResponses: true });// Exécuter plusieurs requêtes dans une seule transaction
var requests = new List<OrganizationRequest>
{
new CreateRequest(contact),
new UpdateRequest(account),
};
var responses = await _powerPortalsProService.ExecuteMultipleAsync(requests, returnResponses: true);Récupération des métadonnées
Utiliser RetrieveTableMetadataAsync et RetrieveViewMetadataAsync récupérer les métadonnées de table et de vue. Pour l’accès en cache, préférez ITableMetadataCache et IViewMetadataCache à la place.
const tableMetadata = await ppp.retrieveTableMetadataAsync('contact');
const viewMetadata = await ppp.retrieveViewMetadataAsync(viewId);var tableMetadata = await _powerPortalsProService.RetrieveTableMetadataAsync("contact");
var viewMetadata = await _powerPortalsProService.RetrieveViewMetadataAsync(viewId);Travailler avec les fichiers
À utiliser GetFileInfoAsync pour récupérer des métadonnées de fichiers ou d’images et, éventuellement, le contenu binaire d’un fichier ou d’une colonne d’image.
// Obtenir uniquement les métadonnées des fichiers
const fileInfo = await ppp.getFileInfoAsync('contact', contactId, 'ppp_contract');
// Obtenir les métadonnées des fichiers et le contenu binaire
const fileWithData = await ppp.getFileInfoAsync(
'contact', contactId, 'ppp_contract', { includeData: true },
);
const bytes = fileWithData.fileData;// Obtenir uniquement les métadonnées des fichiers
var fileInfo = await _powerPortalsProService.GetFileInfoAsync("contact", contactId, "ppp_contract");
// Obtenir les métadonnées des fichiers et le contenu binaire
var fileWithData = await _powerPortalsProService.GetFileInfoAsync("contact", contactId, "ppp_contract", includeData: true);
var bytes = fileWithData.FileData;Accès direct aux Dataverses
IPowerPortalsProService couvre ce dont un portail a normalement besoin, mais certains travaux côté serveur demandent le SDK Dataverse lui-même — une requête LINQ avec jointures ou agrégés, ExecuteMultipleune action personnalisée, ou tout message que le service ne fait pas en enveloppe. Injecter IOrganizationServiceProvider pour obtenir un ServiceClient et utiliser directement le SDK.
Elle propose deux clients, et la différence est importante :
GetOrganizationService()— celui à atteindre par défaut. C’estCallerIdl’utilisateur connecté, donc Dataverse applique les privilèges propres de cet utilisateur et la trace d’audit enregistre qui a fait quoi.GetOrganizationServiceAsApp()(une extension dansPowerPortalsPro.Xrm.Extensions) — effaceCallerId, donc les appels s’exécutent comme l’utilisateur de l’application configuré dansConnectionOptions. Nécessaire lorsque l’opération lit quelque chose pour lequel l’utilisateur connecté n’a aucun privilège, comme un utilisateur soutenu par contact devant lire unsystemuserenregistrement.
@using PowerPortalsPro.Dataverse.Linq
@using PowerPortalsPro.Xrm.Extensions
@using PowerPortalsPro.Xrm.Services
@inject IOrganizationServiceProvider _organizationServiceProvider
@code {
private async Task LoadAsync()
{
// Runs as the signed-in user — Dataverse enforces their privileges.
using var service = _organizationServiceProvider.GetOrganizationService();
var contacts = await service.Queryable("contact")
.Where(c => c.GetAttributeValue<string>("lastname") == "Smith")
.ToListAsync();
}
}
Le contenu retourné ServiceClient est un clone et est jetable — emballez-le using comme indiqué plus haut plutôt que de le conserver pendant toute la durée de vie d’un composant.
Attention
Aucun des deux clients n’exécute le code de
ITablePermissionProvidervotre portail — cela s’applique aux appels qui passent parIPowerPortalsProService.GetOrganizationServiceAsApp()en particulier contourne aussi la sécurité de Dataverse lui-même, donc une requête écrite là peut retourner n’importe quoi dans l’environnement. Lorsque vous l’utilisez sur un chemin accessible par un visiteur, filtrez les données dans la requête elle-même plutôt qu’après coup.
Note
C’est uniquement côté serveur — il faut la connexion Dataverse, donc elle est disponible dans le projet serveur (et dans les composants Blazor Server), mais pas dans un client WebAssembly ni dans React SPA. Ces éléments atteignent Dataverse via l’API du portail à la place.
IPowerPortalsProService Interface
Méthodes
Nom | Paramètres | Type | Description |
|---|---|---|---|
AssociateAsync | TableRecordReference record string relationshipName IEnumerable<TableRecordReference> relatedRecords EntityRole? role CancellationToken cancellationToken | Task<AssociateResponse> | Associe un dossier à un ou plusieurs documents apparentés via une relation de plusieurs à plusieurs. |
ClearAllCachesAsync | CancellationToken cancellationToken | Task<IReadOnlyList<CacheClearResult>> | Efface chaque côté Services.IClearableCache serveur (table / vue / privilège métadonnées, privilèges par utilisateur, paramètres de fichiers d’environnement) et reconstruit le Localed-Strings en cache atomiquement — les lecteurs continuent de voir les précédents chargé jusqu’à ce que le nouvel état soit entièrement rempli. Rechargement des caches paresseux sur le Prochaine demande qui en a besoin. |
ClearCacheAsync | string name CancellationToken cancellationToken | Task<CacheClearResult> | Efface un cache nommé. Revient null quand aucun enregistrement n’est enregistré les correspondances name de cache (insensibles aux majuscules) ; les échecs sont Enveloppé dans le résultat plutôt que jeté. Même porte d’authentification que Threading.CancellationToken). |
CreateFileArchiveAsync | CreateFileArchiveRequest request CancellationToken cancellationToken | Task<FileArchiveResult> | Construit une archive (actuellement en zip ; les formats futurs sont en cours derrière le CreateFileArchiveRequest.Format enum) contenant chaque enregistrement Charge utile pour la paire table/colonne nommée. Utilise la même charge par enregistrement Chaîne de permissions en tant Threading.CancellationToken) que — non autorisée / manquante les lignes sont silencieusement supprimées de l’archive. Les noms de fichiers en double sont désambiguïsé par le |
CreateRecordAsync | TableRecord record CancellationToken cancellationToken | Task<CreateResponse> | Crée un nouvel enregistrement dans Dataverse. |
DeleteRecordAsync | string tableLogicalName Guid id CancellationToken cancellationToken | Task<DeleteResponse> | Supprime un enregistrement de Dataverse par le nom de la table et l’identifiant de l’enregistrement. |
DisassociateAsync | TableRecordReference record string relationshipName IEnumerable<TableRecordReference> relatedRecords EntityRole? role CancellationToken cancellationToken | Task<DisassociateResponse> | Supprime une association entre un enregistrement et un ou plusieurs documents liés via une relation plusieurs-à-plusieurs. |
DownloadLocalizationSourceAsync | string sourceId string culture CancellationToken cancellationToken | Task<LocalizationDownload> | Téléchargements des clés qu’une source a contribuées à une culture durant le plus récent échauffement, comme JSON dans le même consommateur en forme d’objet imbriqué |
DownloadMergedLocalizationsAsync | string culture CancellationToken cancellationToken | Task<LocalizationDownload> | Télécharge les clés de localisation fusionnées pour une culture — la post-fusion valeur gagnante pour chaque clé stockée par le cache, quelle qu’elle soit Source l’a fourni à l’origine. Utilisez cela pour un instantané complet référence (tout ce que le portail servira réellement à cette culture) plutôt que la vision par source ci-dessus. |
ExecuteAsync | OrganizationRequest request CancellationToken cancellationToken | Task<OrganizationResponse> | Exécute une seule requête d’organisation contre Dataverse. |
ExecuteMultipleAsync | IEnumerable<OrganizationRequest> requests bool returnResponses CancellationToken cancellationToken | Task<List<OrganizationResponse>> | Exécute plusieurs requêtes d’organisation dans une seule transaction de base de données. Si une requête échoue, toutes les modifications du lot sont annulées. |
GetCacheNamesAsync | CancellationToken cancellationToken | Task<IReadOnlyList<string>> | Retourne les noms de chaque côté Services.IClearableCacheserveur , approprié pour une interface d’administration qui veut afficher les boutons de nettoyage par cache. Même porte d’authentification comme Threading.CancellationToken) s’applique au point de terminaison HTTP. |
GetFileInfoAsync | string tableName Guid recordId string columnName bool includeData CancellationToken cancellationToken | Task<FileInfo> | Récupère les informations du fichier et, éventuellement, le contenu binaire à partir d’une colonne de fichier ou d’image dans Dataverse. |
GetFileInfosAsync | string tableName IEnumerable<Guid> recordIds string columnName bool includeData CancellationToken cancellationToken | Task<IEnumerable<FileInfo>> | Récupération par lots d’informations de fichiers pour de nombreux enregistrements de la même table / colonne En un seul aller-retour. En interne, les récupérations par disque sont en parallèle et Retourne la liste combinée. La même chaîne de gestionnaire d’autorisations par enregistrement s’exécute comme pour l’appel à un seul disque ; Les recherches ratées sont supprimées de la réponse plutôt que Échouer à tout le lot. Utilisé par « Download All » / « Download Select » de FileGrid afin que le client puisse créer un zip sans lancer N requêtes HTTP. |
GetLocalizationOverviewAsync | CancellationToken cancellationToken | Task<LocalizationOverview> | Retourne un instantané destiné à l’administrateur du pipeline de localisation de chaînes : le Configuration statique qui alimentait le réchauffement ainsi que les enregistrements de charge par source produit par le dernier échauffement. Soutient le |
GetMergedLocalizationEntriesAsync | string culture CancellationToken cancellationToken | Task<IReadOnlyList<MergedLocalizationEntry>> | Retourne les clés de localisation fusionnées d’une culture sous forme de liste structurée — chaque Clé que le cache servira, sa valeur gagnante après la fusion, et la source fournie Cette valeur. Mêmes données que Threading.CancellationToken) mais par clé annoté avec son origine (fichier / ressource web / métadonnées Dataverse) afin qu’un administrateur puisse Inspectez la provenance dans une grille. Les entrées sont triées par clé. |
GetOrganizationSettingsAsync | CancellationToken cancellationToken | Task<OrganizationSettings> | Récupère les paramètres organisationnels provenant du Dataverse Bilan
|
GetTablePermissionsForCurrentUserAsync | string tableLogicalName CancellationToken cancellationToken | Task<TableSecurityPermission> | Retourne le masque combiné au niveau Models.TableSecurityPermission de la table de l’utilisateur actuel pour tableLogicalName — l’union bit par bit de Lire / Créer / Écrire / Suppression / Ajout / Ajout / Ajout des indicateurs permettant à tout |
GetTablePermissionWebRolesAsync | Guid tablePermissionId CancellationToken cancellationToken | Task<IReadOnlyList<Guid>> | Renvoie les identifiants des rôles web Power Pages auxquels une permission de table s’applique, sous enhanced Autorisation. |
GetTranslationAvailabilityAsync | CancellationToken cancellationToken | Task<TranslationAvailability> | Indique si la fonction de localisation-traduction est utilisable dans l’environnement actuel : si le service de traduction Azure est configuré, si la traduction a été gérée La solution est installée, et les langues cibles candidates (les cultures prises en charge par le portail annoté avec la tradupabilité Azure). Soutient la décision de |
GetUserTablePermissionsAsync | string tableLogicalName CancellationToken cancellationToken | Task<UserTablePermissions> | Les opérations de l’utilisateur actuel sur une table, ainsi que les permissions de colonne, un enregistrement Ils créent des débuts par — quelles colonnes ils peuvent définir lors de la création, par opposition à celles Un dossier TableRecord.ColumnPermissions existant indique qu’ils peuvent changer. Ce dont un formulaire en mode création a besoin pour afficher les colonnes, l’utilisateur ne peut pas le définir en lecture seule. |
RetrieveRecordAsync | string tableLogicalName Guid id IEnumerable<string> columns CancellationToken cancellationToken | Task<TableRecord> | Récupère un seul enregistrement depuis Dataverse par nom de table et identifiant d’enregistrement. |
RetrieveRecordsAsync | string fetchXml CancellationToken cancellationToken | Task<RetrieveRecordsResponse> | Récupère plusieurs enregistrements depuis Dataverse à l’aide d’une requête FetchXML. Prend en charge le filtrage, le tri, la pagination, les entités liées et les requêtes agrégées. |
RetrieveTableHeadersAsync | CancellationToken cancellationToken | Task<IReadOnlyList<TableHeader>> | Récupère les métadonnées au niveau identité — logique, schéma et nom d’affichage plus Quelques drapeaux — pour chaque table de l’environnement. Threading.CancellationToken), pour le Cas où un appelant doit lister des tables plutôt que d’en inspecter une. A Le concepteur de requêtes qui remplit un sélecteur « de » devrait autrement récupérer Métadonnées complètes pour chaque table de l’environnement, ce qui coûte des dizaines de secondes ; il s’agit d’un aller-retour unique, servi depuis un cache en cours de traitement après Le premier appel. Threading.CancellationToken), qui sert tout authentifié Appeler la forme de n’importe quelle table. Les appelants qui ont besoin d’une liste plus étroite devraient le faire Filtrer ou TableHeader.IsValidForAdvancedFind appliquer leur Ses propres règles. |
RetrieveTableMetadataAsync | string tableLogicalName CancellationToken cancellationToken | Task<TableMetadata> | Récupère les métadonnées des tables depuis Dataverse, y compris les définitions de colonnes, les relations et la configuration d’affichage. |
RetrieveTableMetadataBatchAsync | IReadOnlyList<TableMetadataRequest> requests CancellationToken cancellationToken | Task<IReadOnlyList<TableMetadata>> | Retourne les métadonnées de plusieurs tables en un seul appel, chacune resserrée aux colonnes et ses noms de demandes. Threading.CancellationToken) signifie un aller-retour par table liée, chacun On retourne une table entière pour lire une étiquette. |
RetrieveViewMetadataAsync | Guid viewId CancellationToken cancellationToken | Task<ViewMetadata> | Récupère les métadonnées de la vue depuis Dataverse, y compris la requête FetchXML de la vue, les colonnes et la configuration d’affichage. |
RetrieveViewsForTableAsync | string tableLogicalName CancellationToken cancellationToken | Task<IEnumerable<ViewMetadata>> | Récupère chaque enregistrement de métadonnées de vue pour une table. Utilisé par des grilles qui doivent énumérer les vues disponibles (view-picker, résolution de la vue par défaut, etc.). L’implémentation côté serveur lit depuis |
SetTablePermissionWebRolesAsync | Guid tablePermissionId IReadOnlyCollection<Guid> webRoleIds CancellationToken cancellationToken | Task<bool> | Remplace les rôles web Power Pages auxquels s’applique une autorisation de table, sous autorisation améliorée. |
TranslateLocalizationFileAsync | TranslationRequest request CancellationToken cancellationToken | Task<TranslationResult> | Traduit automatiquement un fichier de localisation téléchargé en une ou plusieurs langues cibles via Azure Traducteur, réutilisation de la mémoire de traduction Dataverse et rapport du nombre de chaînes de caractères Traduit fraîchement versus réutilisé. Un fichier par langue cible plus un zip de tout. |
UpdateRecordAsync | TableRecord record CancellationToken cancellationToken | Task<UpdateResponse> | Met à jour un enregistrement existant dans Dataverse. Seules les propriétés définies sur l’enregistrement sont envoyées à Dataverse. |
AssociateAsyncstring relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
CancellationToken cancellationToken
ClearAllCachesAsyncServices.IClearableCache serveur (table / vue / privilège métadonnées, privilèges par utilisateur, paramètres de fichiers d’environnement) et reconstruit le Localed-Strings en cache atomiquement — les lecteurs continuent de voir les précédents chargé jusqu’à ce que le nouvel état soit entièrement rempli. Rechargement des caches paresseux sur le Prochaine demande qui en a besoin. ClearCacheAsyncCancellationToken cancellationToken
null quand aucun enregistrement n’est enregistré les correspondances name de cache (insensibles aux majuscules) ; les échecs sont Enveloppé dans le résultat plutôt que jeté. Même porte d’authentification que Threading.CancellationToken).CreateFileArchiveAsyncCancellationToken cancellationToken
CreateFileArchiveRequest.Format enum) contenant chaque enregistrement Charge utile pour la paire table/colonne nommée. Utilise la même charge par enregistrement Chaîne de permissions en tant Threading.CancellationToken) que — non autorisée / manquante les lignes sont silencieusement supprimées de l’archive. Les noms de fichiers en double sont désambiguïsé par le CreateRecordAsyncCancellationToken cancellationToken
DeleteRecordAsyncGuid id
CancellationToken cancellationToken
DisassociateAsyncstring relationshipName
IEnumerable<TableRecordReference> relatedRecords
EntityRole? role
CancellationToken cancellationToken
DownloadLocalizationSourceAsyncstring culture
CancellationToken cancellationToken
DownloadMergedLocalizationsAsyncCancellationToken cancellationToken
ExecuteAsyncCancellationToken cancellationToken
ExecuteMultipleAsyncbool returnResponses
CancellationToken cancellationToken
GetCacheNamesAsyncServices.IClearableCacheserveur , approprié pour une interface d’administration qui veut afficher les boutons de nettoyage par cache. Même porte d’authentification comme Threading.CancellationToken) s’applique au point de terminaison HTTP.GetFileInfoAsyncGuid recordId
string columnName
bool includeData
CancellationToken cancellationToken
GetFileInfosAsyncIEnumerable<Guid> recordIds
string columnName
bool includeData
CancellationToken cancellationToken
GetLocalizationOverviewAsyncGetMergedLocalizationEntriesAsyncCancellationToken cancellationToken
Threading.CancellationToken) mais par clé annoté avec son origine (fichier / ressource web / métadonnées Dataverse) afin qu’un administrateur puisse Inspectez la provenance dans une grille. Les entrées sont triées par clé.GetOrganizationSettingsAsync-
DefaultCurrency — la monnaie de base de l’organisation, utilisée par le mode création des éditeurs (MoneyEdit ) pour afficher le bon symbole sur les disques tout neufs. -
BlockedFileExtensions +MaxUploadFileSizeInBytes — envoi de fichier Les contraintes que les clients miroirent pour rejeter les fichiers invalides avant le aller-retour.
GetTablePermissionsForCurrentUserAsyncCancellationToken cancellationToken
Models.TableSecurityPermission de la table de l’utilisateur actuel pour tableLogicalName — l’union bit par bit de Lire / Créer / Écrire / Suppression / Ajout / Ajout / Ajout des indicateurs permettant à tout GetTablePermissionWebRolesAsyncCancellationToken cancellationToken
GetTranslationAvailabilityAsyncGetUserTablePermissionsAsyncCancellationToken cancellationToken
TableRecord.ColumnPermissions existant indique qu’ils peuvent changer. Ce dont un formulaire en mode création a besoin pour afficher les colonnes, l’utilisateur ne peut pas le définir en lecture seule.RetrieveRecordAsyncGuid id
IEnumerable<string> columns
CancellationToken cancellationToken
RetrieveRecordsAsyncCancellationToken cancellationToken
RetrieveTableHeadersAsyncThreading.CancellationToken), pour le Cas où un appelant doit lister des tables plutôt que d’en inspecter une. A Le concepteur de requêtes qui remplit un sélecteur « de » devrait autrement récupérer Métadonnées complètes pour chaque table de l’environnement, ce qui coûte des dizaines de secondes ; il s’agit d’un aller-retour unique, servi depuis un cache en cours de traitement après Le premier appel. Threading.CancellationToken), qui sert tout authentifié Appeler la forme de n’importe quelle table. Les appelants qui ont besoin d’une liste plus étroite devraient le faire Filtrer ou TableHeader.IsValidForAdvancedFind appliquer leur Ses propres règles. RetrieveTableMetadataAsyncCancellationToken cancellationToken
RetrieveTableMetadataBatchAsyncCancellationToken cancellationToken
Threading.CancellationToken) signifie un aller-retour par table liée, chacun On retourne une table entière pour lire une étiquette. RetrieveViewMetadataAsyncCancellationToken cancellationToken
RetrieveViewsForTableAsyncCancellationToken cancellationToken
SetTablePermissionWebRolesAsyncIReadOnlyCollection<Guid> webRoleIds
CancellationToken cancellationToken
TranslateLocalizationFileAsyncCancellationToken cancellationToken
UpdateRecordAsyncCancellationToken cancellationToken
