Skip Ribbon Commands
- محتویات اصلی صفحه

هیمن روحانی

:

منوی سمت راست

آبان 07
Client object Model

دو روش اصلی برای دسترسی به به داده ها از طریق برنامه نویسی در SharePoint وجود دارد. روش اول استفاده از SharePoint API روی سرور است. زمانی که شما کدی را مستقیم روی سرور SharePoint  اجرا می کنید SharePoint API  کنترل کامل تمام جنبه های شیرپوینت و داده ها را در اختیار شما می گذارد. اگر برنامه شما روی سرور اجرا نمی شود و نیاز به دسترسی به داده های شیرپوینت دارد لازم است شما از SharePoint web services استفاده کنید. web services امکاناتی مشابه SharePoint  API در اختیار شما می گذارد هرچند همه امکانات را پوشش نمی دهد.

در SharePoint 2010 شما گزینه دیگری در برنامه نویسی برای داده های SharePoint دارید:Client Object Model . این یک روش جدید در برنامه نویسی برای شیرپوینت است. اگرچه استفاده از web services پوشش وسیعی از امکانات شیرپوینت را به شما می دهد اما برنامه نویسی به روش Client Object Model و API بسیار با استفاده از web services متفاوت است. استفاده از web services کار را برای شما سخت خواهد کرد و لازم است شما دو روش برنامه نویسی کاملا مختلف را بیاموزید. همچنین فراخوانیweb services با JavaScript پیچیده است و نیازمند ساخت و دستکاری XML های فراوان است.Client Object Model تمام این مسائل را حل کرده و برنامه نویسی سمت client را راحت کرده است.

در واقع  Client Object Model سه Object Model جدا از هم است:
       نسخه: .NET CLR  برای ساخت WinForms, Windows Presentation Foundation (WPF), console applications
       نسخهSilverlight  : برای کا با هر دو خالت داخل in-browser و out-of-browser Silverlight applications
       نسخه JavaScript : کدهای Ajax  و  jQueryرا قادر می سازد تا داده های شیرپوینت را فراخوانی کنند
یکی از سوالاتی که در مورد Client Object Model پیش می آید این است که چه کارهایی با اون می شود انجام داد؟ Client Object Modelامکان دسترسی به بیشتر اشیا رایج مانند sites, webs, content types, lists, folders, navigations  فراهم می کند. در لینک زیر می توانید  لیست کاملی از این اشیا را ببینید. این اشیا با اسم های مشابه در Client Object Model وجود دارند که در جدول زیر مشخص شده اند.
untitled.JPG
در زیر یک مثال ساده از استفاده های Client Object Model را توضیح خواهم داد که لیست های موجود در سایت رو در خروجی نمایش می دهد.
1-      در Visual Studio یک پروژه Console application ایجاد کنید.
2-      بر روی References کلیک راست کرده Add Reference را انتخاب کنید. از مسیر زیر
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI
                  دو فایل زیر را اضافه کنید
 
Microsoft.SharePoint.dll
Microsoft.SharePoint.Client.Runtime.dll
 
3-      حالا کد زیر را اضافه کنید
static void Main(string[] args)
        {
            var ctx = new ClientContext(@"http://localhost");
            var web = ctx.Web;
            var lists = web.Lists;
            ctx.Load(lists,
                l => l.Include
                    (list => list.Title).Where
                    (list => list.BaseType == BaseType.GenericList));
            ctx.ExecuteQuery();
            foreach (var list in lists)
                Console.WriteLine(list.Title);
            Console.ReadLine();
حالا برنامه را با F5 اجرا کنید. خروجی برنامه را به شکل زیر مشاهده می کنید.
Output.JPG

برنامه بالا یک مثال بسیار ساده است شما می توانید با Client Object Model امکانات زیادی را  با WinForms, console applications  برای کاربرانی که نمی خواهند وارد محیط SharePoint  شوند و با browser ها سر و کله بزنند طراحی کنید.
در پست بعدی کار با نسخه Silverlight و نحوه ترکیب کردن فایل Silverlight به WebPart رو توضیح خواهم داد.


 

 در مورد این وبلاگ

 
About this blog
به وبلاگ خود خوش آمدید. از این بخش میتوانید برای فراهم آوردن اطلاعاتی کوتاهی در مورد این وبلاگ یا مدیران آن استفاده کنید. برای ویرایش محتوای این بخش، از قسمت "مدیریت سایت" گزینه ی "ویرایش صفحه" را انتخاب کنید.