Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met Power Pages-serverlogica kunnen makers JavaScript veilig op de server uitvoeren, zodat ze rechtstreeks uitbreidbaarheid aan de siteruntime kunnen toevoegen.
Omdat serverlogica wordt uitgevoerd op de server, wordt deze verborgen in de browser en beveiligd door webfuncties en tabelmachtigingen. U voegt logica toe in Power Pages Design Studio en ontwerpt deze met behulp van Visual Studio Code, dat IntelliSense en validatie van compilatietijd biedt.
Dataverse slaat code en configuratie op, dus serverlogica profiteert van hetzelfde levenscyclusbeheer en dezelfde implementatiepijplijnen als andere Power Pages-onderdelen.
Taalondersteuning
Met serverlogica kunnen ontwikkelaars systeemeigen JavaScript-code schrijven die compatibel is met de ECMAScript 2023-standaard zonder ondersteuning voor browser-API's (zoals DOM-API's fetch of XMLHttpRequest). Bepaalde onveilige of beperkte patronen worden ook geblokkeerd om veilige uitvoering te garanderen. Zie Beperkingen voor het ontwerpen van serverlogica voor meer informatie.
Wat u kunt doen met serverlogica
Met serverlogica in Power Pages kunnen makers en ontwikkelaars kritieke bewerkingen van de browser naar de server verplaatsen voor verbeterde controle, schaalbaarheid en beveiliging. Hiermee kan uw site complexe taken en integraties uitvoeren zonder gevoelige logica of gegevens aan de clientzijde weer te geven.
Met behulp van serverlogica kunt u het volgende doen:
- Verbinding maken met externe services en API's: veilig integreren met REST API's, Azure Functions of andere bedrijfssystemen om gegevens uit te wisselen, acties te activeren of dynamische informatie op te halen.
- Veilige gegevensbewerkingen uitvoeren: Gegevensverse-bewerkingen uitvoeren, zoals het uitvoeren van query's, bijwerken of verwijderen van records, op de server, het consistent toepassen van bedrijfslogica en validatie.
- Aangepaste logica en transformaties uitvoeren: gegevens verwerken of bewerken voordat u deze naar de client retourneert. Bereken bijvoorbeeld totalen, valideer bedrijfsregels of verrijk gegevens met behulp van externe zoekacties.
- Verwerkte antwoorden op pagina's retourneren: alleen de vereiste en gefilterde gegevens verzenden naar clientpagina's, waardoor snellere rendering en verminderde nettoladingen worden gegarandeerd.
- Vereenvoudig beveiligde verificatie: beheer servicereferenties en API-sleutels op de server in plaats van in clientcode, waarbij veilige en compatibele integratieprocedures worden gehandhaafd.
Voordelen van het gebruik van serverlogica
Serverlogica zorgt voor uitbreidbaarheid op bedrijfsniveau voor Power Pages, waardoor organisaties veiligere, schaalbare en onderhoudbare webervaringen kunnen bouwen.
Belangrijke voordelen zijn onder andere:
- Verbeterde beveiliging: voer bedrijfslogica, geheimen en API-sleutels op de server uit en sla deze nooit beschikbaar in de browser of aan eindgebruikers.
- Integratieflexibiliteit: Koppel Power Pages naadloos aan externe systemen, waaronder Azure Functions, REST API's, Dataverse-acties en zakelijke services.
- Verbeterde prestaties en efficiëntie: offload zware berekeningen, validaties en gegevensverwerking naar de server, waardoor de workload aan de clientzijde wordt verminderd en de reactiesnelheid van de pagina wordt verbeterd.
- Consistentie tussen kanalen: dezelfde logica toepassen op webpagina's, formulieren en integraties, waardoor uniforme gegevensvalidatie en -gedrag in de hele toepassing worden gegarandeerd.
- Gecentraliseerd onderhoud: Werk logica op één plaats bij of verfijn de logica zonder meerdere clientscripts of -pagina's opnieuw te implementeren of te bewerken.
De serverlogica beveiligen
Als u code wilt uitvoeren in serverlogica, moeten gebruikers over de juiste machtigingen beschikken die zijn geconfigureerd door de maker. Access wordt beheerd door webrollen en tabelmachtigingen, die ook bepalen of serverlogica toegang heeft tot specifieke tabellen.
Serverlogica-API verifiëren
U hoeft geen aangepaste verificatiecode op te nemen. Verificatie en autorisatie worden beheerd door de toepassingssessie. Alle API-aanroepen voor serverlogica moeten een CSRF-token (Cross-Site Request Forgery) bevatten.
Governance-instelling voor externe serviceaanroepen
Serverlogica kan verbinding maken met externe REST API's, Azure Functions en andere bedrijfssystemen om integraties aan de serverzijde uit te voeren. Om exfiltratie van gegevens te voorkomen, kunnen tenantbeheerders uitgaande HTTP-aanroepen blokkeren die serverlogica maakt op site-by-sitebasis. Wanneer deze governancecontrole wordt afgedwongen, mislukt elke poging van serverlogica om een HTTP-aanroep uit te voeren. Zie Externe serviceoproepen uitschakelen vanuit serverlogica voor meer informatie.
Vestigingsinstellingen
Gebruik de volgende optionele site-instellingen om serverlogica te configureren:
| Naam | Beschrijving | Default |
|---|---|---|
| ServerLogic/Ingeschakeld | Functie in- of uitschakelen | waar |
| ServerLogic/AllowedDomains | Beperken welke externe domeinen kunnen worden aangeroepen | Alle toegestane domeinen |
| ServerLogic/TimeoutInSeconds | Maximale uitvoeringstijd (in seconden). Time-out kan worden verhoogd tot 240 seconden | 120 |
| ServerLogic/AllowNetworkingToAllDomains | Netwerken tussen domeinen toestaan | Klopt |
URL van server logica-API
Maak de API-URL met behulp van deze indeling:
https://<site-url>/_api/serverlogics/<server-logic-name>
Voorbeeld:
https://contoso.powerappsportals.com/_api/serverlogics/exchangerate
Ondersteunde HTTP-methoden
Serverlogica ondersteunt standaard HTTP-methoden voor het uitvoeren van bewerkingen op gegevens of interactie met externe services. Elke methode wordt toegewezen aan een functie die u in uw serverlogicacode definieert.
| Methode | Functiehandtekening | Gebruik | Beschrijving |
|---|---|---|---|
| GET | functie get() { } | Gegevens ophalen. | Wordt gebruikt voor het ophalen van gegevens uit Dataverse, externe API's of aangepaste bedrijfslogica. Ideaal voor alleen-lezenbewerkingen waarbij er geen gegevenswijzigingen worden aangebracht. |
| POSTEN | functie post() { } | Records maken of nieuwe gegevens verzenden. | Vaak gebruikt voor het invoegen van nieuwe records in Dataverse of het verzenden van gegevens naar externe systemen. Geschikt voor formulierinzendingen of werkstromen die acties moeten maken of activeren. |
| PUT | function put() { } | Records vervangen of bijwerken. | Hiermee wordt een hele record of gegevensset bijgewerkt of vervangen. Doorgaans gebruikt voor volledige updates of synchronisatiescenario's. |
| PATCH | functie patch() { } | Een deel van een record wordt bijgewerkt (upsert). | Voert een gedeeltelijke update van bestaande gegevens uit zonder de hele record te vervangen. Gebruik deze methode wanneer alleen specifieke velden moeten worden gewijzigd. |
| VERWIJDEREN | function del() { } | Records of velden verwijderen. | Hiermee verwijdert u records of gegevens uit Dataverse of een extern systeem. Moet voorzichtig worden gebruikt om onbedoeld gegevensverlies te voorkomen. |
Volgende stap
Verwante informatie
Server-objecten
Interactie met Dataverse-tabellen met behulp van serverlogica