SharePoint - Model Objek Klien
Pada bab ini, kita akan melihat Model Objek Klien atau CSOM. Ini adalah salah satu dari dua API, untuk membangun aplikasi jarak jauh yang ditambahkan ke SharePoint 2010.
Salah satu tujuan desain Model Objek Klien adalah untuk meniru Model Objek Server sebanyak mungkin, sehingga akan ada kurva pembelajaran yang lebih pendek untuk pengembang yang sudah terbiasa melakukan pengembangan di sisi Server.
Inti dari Model Objek Klien adalah layanan web bernama Client.svc, yang ada di file _vti_bindirektori virtual. Kami tidak seharusnya berkomunikasi langsung dengan Client.svc, tetapi kami diberikan tiga proxy atau titik masuk, yang dapat kami gunakan. Mereka adalah -
- Kode yang Dikelola .NET.
- JavaScript.
- JavaScript.
Kode berkomunikasi dengan proxy ini dan kemudian proxy ini akhirnya berkomunikasi dengan layanan web.
Karena ini adalah API jarak jauh dan komunikasi dilakukan dengan SharePoint melalui panggilan layanan web, Model Objek Klien dirancang untuk memungkinkan kami mengumpulkan perintah dan permintaan informasi.
Kode yang Dikelola .NET
Dua rakitan inti untuk Kelola Implementasi .NET adalah -
Microsoft.SharePoint.Client.dll dan Microsoft.SharePoint.Client.Runtime.dll.
Kode Silverlight
Majelis untuk implementasi Silverlight sudah tersedia TEMPLATE\LAYOUTS\ClientBin. Nama assembly juga dimulai denganMicrosoft.SharePoint.Client. Untuk semua rakitan kecuali satu, nama rakitan diakhiri dengan Silverlight.
Dua rakitan inti untuk implementasi Silverlight adalah -
- Microsoft.SharePoint.Client.Silverlight.dll
- Microsoft.SharePoint.Client.Silverlight.Runtime.dll
JavaScript
Implementasi JavaScript pada Model objek klien berada di folder TEMPLATE \ LAYOUTS di bawah akar sistem SharePoint. Nama perpustakaan JavaScript semuanya dimulai dengan SP. Tiga perpustakaan inti tersebut adalahSP.js, Sp.Runtime.js, dan SP.Core.js.
Model objek klien diperluas di SharePoint 2013.
Ambil Sumber Daya dengan Muat menggunakan .NET
Mari kita lihat contoh sederhana di mana kita akan menggunakan implementasi terkelola Model Objek Klien menggunakan aplikasi formulir Windows. Oleh karena itu, pertama kita perlu membuat proyek baru.
Step 1 - Pilih Windows Forms Applicationdi panel tengah dan masukkan nama di bidang Nama. Klik OK.
Step 2- Setelah proyek dibuat, mari kita tambahkan satu kotak daftar dan satu tombol seperti yang ditunjukkan di bawah ini. Untuk menggunakan Model Objek Klien, kita perlu menambahkan beberapa referensi perakitan. Klik kanan pada Referensi dan pilih Tambahkan Referensi.
Step 3 - Pilih Extensions di panel kiri bawah Assemblies.
Dua rakitan inti untuk implementasi terkelola Model Objek Klien adalah Microsoft.SharePoint.Client dan Microsoft.SharePoint.Client.Runtime. Periksa kedua opsi ini dan klik OK.
Sekarang klik dua kali tombol Load untuk menambahkan event handler seperti yang diberikan di bawah ini.
using Microsoft.SharePoint.Client;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ClientObjectModel {
public partial class Form1 : Microsoft.SharePoint.Client.Form {
public Form1() {
InitializeComponent();
}
private void loadBtn_Click(object sender, EventArgs e) {
using (var context = new ClientContext("http://waqasserver/sites/demo")) {
var web = context.Web;
context.Load(web);
context.Load(web.Lists);
context.ExecuteQuery();
ResultListBox.Items.Add(web.Title);
ResultListBox.Items.Add(web.Lists.Count);
}
}
}
}
Titik masuk ke dalam Model Objek Klien adalah konteks klien. Ini adalah versi klien jarak jauh dariSPContextobyek. Ini adalah tipe sekali pakai, jadi ini dibungkus dengan fileusingpernyataan. Kami meneruskan URL situs SharePointClientContext.
Jadi sekarang, kami memiliki konteks kami. Kita membutuhkan sebuah objek untuk merepresentasikan situs saat inivar web = context.web.
Note- Ingat, objek ini hanyalah shell kosong, jadi kita perlu memuat objek web dengan menggunakan context.load dan meneruskan objek web. Ini menunjukkan bahwa kami ingin properti objek web diisi dalam pengambilan batch berikutnya.
Selanjutnya, kita perlu menelepon context.ExecuteQuerydan itu benar-benar memulai pengambilan batch. Kami mengambil nilai properti dari server dan menambahkan ke kotak daftar.
Ketika kode di atas dikompilasi dan dijalankan, Anda akan melihat output berikut -
Klik tombol Load dan Anda akan melihat bahwa kami mendapatkan keduanya, judul dan jumlah daftar.
Ini memungkinkan pengaturan proyek kami untuk menggunakan Model Objek Klien untuk memeriksa sumber daya pemuatan menggunakan metode beban.