Nota
Capaian ke halaman ini memerlukan kebenaran. Anda boleh cuba mendaftar masuk atau menukar direktori.
Capaian ke halaman ini memerlukan kebenaran. Anda boleh cuba menukar direktori.
Logik pelayan menyediakan objek terbina dalam di bawah ruang nama pelayan. Objek ini memudahkan pembangunan dengan membenarkan anda log mesej, memanggil perkhidmatan luaran, bekerja dengan Dataverse atau mengakses butiran permintaan.
Pelanggan Http
Gunakan klien HTTP untuk disepadukan dengan perkhidmatan luaran dengan menghantar permintaan HTTP.
Nota
Pada masa ini logik pelayan hanya application/jsonmenyokong , text/html dan application/x-www-form-urlencoded jenis kandungan dalam badan permintaan.
Contoh
HTTP DAPATKAN
let url = "https://contoso.com/objects";
let header = { client_id: "00001111-aaaa-2222-bbbb-3333cccc4444" };
let response = await Server.Connector.HttpClient.GetAsync(url, header);
CATATAN HTTP
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);
MELETAKKAN HTTP
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);
TAMPALAN HTTP
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);
HAPUS HTTP
let url = "https://contoso.com/objects/6";
let header = { contentType: "application/json" };
let response = await Server.Connector.HttpClient.DeleteAsync(url, header);
Contoh: Respons
{
"StatusCode": 200,
"Body": "JsonString",
"IsSuccessStatusCode": true,
"ReasonPhrase": "OK",
"ServerError": false,
"ServerErrorMessage": null,
"Headers": {
"Transfer-Encoding": "chunked",
"Connection": "keep-alive",
"Server": "",
"Content-Type": "application/json"
}
}
Tetapan Laman
Membolehkan anda membaca nilai tetapan laman web untuk laman web semasa.
Nota
Jangan simpan rahsia (seperti kunci API atau kelayakan) secara langsung dalam logik pelayan. Sebaliknya, simpan mereka dengan selamat dalam Azure Key Vault, sumberkannya melalui pembolehubah persekitaran dan rujuknya menggunakan seting laman.
Sebagai contoh
Server.SiteSetting.Get("Search/Enabled");
Persekitaran Pembolehubah
Membaca nilai pembolehubah persekitaran.
Sebagai contoh
Server.EnvironmentVariable.get("SITEPATH");
Laman Web
Menyediakan butiran rekod laman web semasa dalam Dataverse.
Sebagai contoh
Server.Website.adx_primarydomain;
User
Memberikan butiran pengguna yang dilog masuk. Mengembalikan null jika tanpa nama.
Sebagai contoh
Server.User.fullname;
Dataverse
Objek ini Server.Connector.Dataverse membolehkan anda melaksanakan operasi CRUD pada jadual Dataverse dan memanggil API tersuai.
Nota
- Apabila merujuk kepada jadual Dataverse dalam kod anda, anda perlu menggunakan EntitySetName, contohnya, untuk mengakses
accountjadual, sintaks kod menggunakan EntitySetName daripadaaccounts.
Cipta Rekod
Buat rekod baharu.
Server.Connector.Dataverse.CreateRecord(string entitySetName, string payload)
Contoh
Server.Connector.Dataverse.CreateRecord("accounts", "{\"name\": \"Contoso Ltd.\", \"telephone1\": \"555-555-0100\", \"websiteurl\": \"https://contoso.com\"}");
Dapatkan Rekod
Mendapatkan semula satu rekod mengikut ID.
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)
Sebagai contoh
Server.Connector.Dataverse.RetrieveRecord("accounts", "00000000-0000-0000-0000-000000000001", "$select=name,telephone1");
Dapatkan Pelbagai Rekod
Mendapatkan koleksi rekod.
Server.Connector.Dataverse.RetrieveMultipleRecords(string entitySetName)
Server.Connector.Dataverse.RetrieveMultipleRecords(string entitySetName, string options)
Server.Connector.Dataverse.RetrieveMultipleRecords(string entitySetName, string options, bool skipCache)
Sebagai contoh
Server.Connector.Dataverse.RetrieveMultipleRecords("accounts", "$select=name,emailaddress1&$top=3");
Rekod kemas kini
Mengemas kini rekod sedia ada mengikut ID.
Server.Connector.Dataverse.UpdateRecord(string entitySetName, string id, string payload)
Sebagai contoh
Server.Connector.Dataverse.UpdateRecord("accounts", "00000000-0000-0000-0000-000000000001", "{ \"telephone1\": \"555-555-0100\" }");
PadamRekod
Memadamkan rekod mengikut ID.
Server.Connector.Dataverse.DeleteRecord(string entitySetName, string id)
Sebagai contoh
Server.Connector.Dataverse.DeleteRecord("accounts", "00000000-0000-0000-0000-000000000001");
InvokeCustomApi
Server.Connector.Dataverse.InvokeCustomApi(string httpMethod, string url, string payload = null)
Panggil fungsi terikat:
Server.Connector.Dataverse.InvokeCustomApi("get", "accounts(00000000-0000-0000-0000-000000000001)/Microsoft.Dynamics.CRM.new_CustomBoundFunction");
Panggil tindakan terikat:
Server.Connector.Dataverse.InvokeCustomApi("post", "accounts(00000000-0000-0000-0000-000000000001)/Microsoft.Dynamics.CRM.new_CustomBoundAction", "{ \"parameter1\": \"value1\" }");
Panggil tindakan tidak terikat:
Server.Connector.Dataverse.InvokeCustomApi("post", "new_Action", "{ \"parameter1\": \"value1\" }");
Contoh: Respons
{
"StatusCode": 204,
"Body": "",
"IsSuccessStatusCode": true,
"ReasonPhrase": "No Content",
"ServerError": false,
"ServerErrorMessage": null,
"Headers": {
"x-ms-cds-service-request-id": "00001111-aaaa-2222-bbbb-3333cccc4444"
}
}
Logger
Gunakan logger untuk menulis mesej diagnostik yang boleh dilihat dalam sambungan DevTools.
Contoh:
Server.Logger.Log("Information message");
Server.Logger.Warn("Warning message");
Server.Logger.Error("Error message");
Konteks
Menyediakan metadata tentang permintaan semasa, termasuk parameter pertanyaan, pengepala dan isi.
Sifat
| Nama | Perihalan |
|---|---|
| IdAktiviti | ID permintaan unik |
| Isi | Badan permintaan mentah |
| Nama Fungsi | Nama fungsi yang dipanggil |
| Pengepala | Minta pengepala |
| Kaedah Http | kaedah HTTP |
| Parameter Pertanyaan | Parameter rentetan pertanyaan |
| Nama Logik Pelayan | Nama logik pelayan |
| Url | URL permintaan penuh |
Sebagai contoh
Baca parameter id pertanyaan daripada URL:
Server.Context.QueryParameters['id'];
Langkah seterusnya
Cara berinteraksi dengan jadual Dataverse menggunakan logik pelayan