Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Palvelinlogiikka tarjoaa palvelimen nimitilan alaisia sisäisiä objekteja. Nämä objektit yksinkertaistavat kehitystä, koska voit kirjata lokeja, kutsua ulkoisia palveluita, käsitellä Dataversea tai käyttää pyyntötietoja.
HttpClient
HTTP-asiakasohjelman avulla voit integroida ulkoisiin palveluihin lähettämällä HTTP-pyyntöjä.
Muistio
Tällä hetkellä palvelinlogiikka tukee vain application/json- text/html ja application/x-www-form-urlencoded -sisältötyyppejä pyynnön leipätekstissä.
Esimerkit
HTTP GET
let url = "https://contoso.com/objects";
let header = { client_id: "00001111-aaaa-2222-bbbb-3333cccc4444" };
let response = await Server.Connector.HttpClient.GetAsync(url, header);
HTTP POST
let url = "https://contoso.com/objects";
let body = JSON.stringify({ name: "Sample Account" });
let header = { client_id: "00001111-aaaa-2222-bbbb-3333cccc4444" };
let contentType = "application/json";
// Make the POST request
let response = await Server.Connector.HttpClient.PostAsync(url, body, header, contentType);
HTTP PUT
let url = "https://contoso.com/objects/6";
let body = JSON.stringify({ name: "Updated Sample Account" });
let header = { client_id: "00001111-aaaa-2222-bbbb-3333cccc4444" };
let contentType = "application/json";
// Make the PUT request
let response = await Server.Connector.HttpClient.PutAsync(url, body, header, contentType);
HTTP PATCH
let url = "https://contoso.com/objects/6";
let body = JSON.stringify({ name: "{\"capacity\": \"2 TB\"}" });
let header = { client_id: "00001111-aaaa-2222-bbbb-3333cccc4444" };
let contentType = "application/json";
// Make the PATCH request
let response = await Server.Connector.HttpClient.PatchAsync(url, body, header, contentType);
HTTP DELETE
let url = "https://contoso.com/objects/6";
let header = { contentType: "application/json" };
let response = await Server.Connector.HttpClient.DeleteAsync(url, header);
Esimerkki: Vastaus
{
"StatusCode": 200,
"Body": "JsonString",
"IsSuccessStatusCode": true,
"ReasonPhrase": "OK",
"ServerError": false,
"ServerErrorMessage": null,
"Headers": {
"Transfer-Encoding": "chunked",
"Connection": "keep-alive",
"Server": "",
"Content-Type": "application/json"
}
}
Sivuston asetukset
Tämän avulla voit lukea sivuston asetusarvoja nykyiselle verkkosivustolle.
Muistio
Älä tallenna salaisuuksia (kuten ohjelmointirajapinta-avaimia tai tunnistetietoja) suoraan palvelinlogiikkaan. Tallenna ne turvallisesti Azure Key Vault, hanki ne ympäristömuuttujien kautta ja viittaa niihin sivuston asetusten avulla.
Esimerkki
Server.SiteSetting.Get("Search/Enabled");
Ympäristömuuttuja
Lukee ympäristömuuttujan arvon.
Esimerkki
Server.EnvironmentVariable.get("SITEPATH");
Verkkosivusto
Antaa tiedot nykyisestä sivustotietueesta Dataversessa.
Esimerkki
Server.Website.adx_primarydomain;
Käyttäjä
Antaa kirjautuneen käyttäjän tiedot. Palauttaa tyhjäarvon, jos se on anonyymi.
Esimerkki
Server.User.fullname;
Dataverse
-objektin Server.Connector.Dataverse avulla voit suorittaa CRUD-toimintoja Dataverse-taulukoille ja käynnistää mukautettuja ohjelmointirajapintoja.
Muistio
- Kun viittaat koodisi Dataverse-taulukoihin, sinun on käytettävä EntitySetName-nimeä esimerkiksi taulukon käyttämiseen
account. Koodisyntaksissa käytetään kohteen EntitySetName-nimeäaccounts.
Luo tietue
Luo uusi tietue.
Server.Connector.Dataverse.CreateRecord(string entitySetName, string payload)
Esimerkki
Server.Connector.Dataverse.CreateRecord("accounts", "{\"name\": \"Contoso Ltd.\", \"telephone1\": \"555-555-0100\", \"websiteurl\": \"https://contoso.com\"}");
Hae tietue
Hakee yksittäisen tietueen tunnuksen mukaan.
Server.Connector.Dataverse.RetrieveRecord(string entitySetName, string id)
Server.Connector.Dataverse.RetrieveRecord(string entitySetName, string id, string options)
Server.Connector.Dataverse.RetrieveRecord(string entitySetName, string id, string options, bool skipCache)
Esimerkki
Server.Connector.Dataverse.RetrieveRecord("accounts", "00000000-0000-0000-0000-000000000001", "$select=name,telephone1");
RetrieveMultipleRecords
Hakee tietuekokoelman.
Server.Connector.Dataverse.RetrieveMultipleRecords(string entitySetName)
Server.Connector.Dataverse.RetrieveMultipleRecords(string entitySetName, string options)
Server.Connector.Dataverse.RetrieveMultipleRecords(string entitySetName, string options, bool skipCache)
Esimerkki
Server.Connector.Dataverse.RetrieveMultipleRecords("accounts", "$select=name,emailaddress1&$top=3");
Päivitä ennätys
Päivittää olemassa olevan tietueen tunnuksen mukaan.
Server.Connector.Dataverse.UpdateRecord(string entitySetName, string id, string payload)
Esimerkki
Server.Connector.Dataverse.UpdateRecord("accounts", "00000000-0000-0000-0000-000000000001", "{ \"telephone1\": \"555-555-0100\" }");
Poista tietue
Poistaa tietueen tunnuksen mukaan.
Server.Connector.Dataverse.DeleteRecord(string entitySetName, string id)
Esimerkki
Server.Connector.Dataverse.DeleteRecord("accounts", "00000000-0000-0000-0000-000000000001");
KutsuCustomApi
Server.Connector.Dataverse.InvokeCustomApi(string httpMethod, string url, string payload = null)
Kutsu sidottua funktiota:
Server.Connector.Dataverse.InvokeCustomApi("get", "accounts(00000000-0000-0000-0000-000000000001)/Microsoft.Dynamics.CRM.new_CustomBoundFunction");
Kutsu sidottu toiminto:
Server.Connector.Dataverse.InvokeCustomApi("post", "accounts(00000000-0000-0000-0000-000000000001)/Microsoft.Dynamics.CRM.new_CustomBoundAction", "{ \"parameter1\": \"value1\" }");
Kutsu sitomaton toiminto:
Server.Connector.Dataverse.InvokeCustomApi("post", "new_Action", "{ \"parameter1\": \"value1\" }");
Esimerkki: Vastaus
{
"StatusCode": 204,
"Body": "",
"IsSuccessStatusCode": true,
"ReasonPhrase": "No Content",
"ServerError": false,
"ServerErrorMessage": null,
"Headers": {
"x-ms-cds-service-request-id": "00001111-aaaa-2222-bbbb-3333cccc4444"
}
}
Metsuri
Lokitoiminnon avulla voit kirjoittaa diagnostiikkaviestejä, joita voidaan tarkastella DevTools-laajennuksessa.
Esimerkki:
Server.Logger.Log("Information message");
Server.Logger.Warn("Warning message");
Server.Logger.Error("Error message");
Konteksti
Tarjoaa metatietoja nykyisestä pyynnöstä, mukaan lukien kyselyparametrit, otsikot ja leipätekstin.
Ominaisuudet
| Nimi | Description |
|---|---|
| AktiviteettiId | Yksilöivä pyyntötunnus |
| Runkoteksti | Raakapyyntöjen runko |
| Toiminnon nimi | Käynnistetty funktion nimi |
| Otsikot | Pyynnön otsikot |
| HttpMethod | HTTP-menetelmä |
| QueryParameters | Kyselyn merkkijonon parametrit |
| ServerLogicName | Palvelinlogiikan nimi |
| URL-osoite | Koko pyynnön URL-osoite |
Esimerkki
Lue kyselyparametri id URL-osoitteesta:
Server.Context.QueryParameters['id'];
Seuraava vaihe
Dataverse-taulukoiden käsitteleminen palvelinlogiikan avulla