色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

一個Silverlight的網頁訪問計數器

  大家知道,SharePoint 2010支持客戶端的對象模型訪問,主要有三種方式:

  1..NET 的客戶端對象模型,2.Javascript 的客戶端對象模型 3.Silverlight的客戶端對象模型,這里就簡單實現一個Silverlight的網頁計數器,來達到熟悉客戶端對象模型的目的。

  其實這個簡單的訪問計數器主要就是統計了頁面刷新了多少次,邏輯很簡單,當頁面被load的時候,就將次數+1,將次數和頁面的地址作為一個Item存放在一個SharePoint list中。下面介紹具體的步驟:

  1、準備工作:在SharePoint 2010的某一個site下創建用來存放訪問次數和頁面地址的list,我們可以取名為Hit Count list。

  2、VS2010中創建Silverlight Application Project,然后添加客戶端對象模型的dll引用,在SharePoint2010中,Silverlight的支持客戶端對象模型的dll文件一般存放在c:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/14/TEMPLATE/LAYOUTS/ClientBin下,所以我們在項目中先Add Reference,在上面的路徑下添加Microsoft.SharePoint.Client.Silverlight.dll 和 Microsoft.SharePoint.Client.Silverlight.Runtime.dll兩個dll。

  3、在項目中添加一個Class,ClientOMProxy.cs作為silverlight訪問SharePoint2010數據的代理類,因為Silverlight訪問采用異步的方式,所以幾個基本的操作方法如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Xml;
using System.NET;
using Microsoft.SharePoint.Client;


namespace ADSK.AEC.SP2010.ClientOM
{
public class ClientOMProxy:IDisposable
{
private ClientContext clientContext = null;
public ListItemCollection listItems = null;
public ClientOMProxy(string siteURL)
{
this.SiteURL = siteURL;
clientContext
= new ClientContext(this.SiteURL);
}

public void GetListItemsAsync(string listName, string viewXML, out ListItemCollection listItems, ClientRequestSucceededEventHandler successEventHandler, ClientRequestFailedEventHandler failEventHandler)
{
clientContext.Load(clientContext.Web);
List targetList
= clientContext.Web.Lists.GetByTitle(listName);
clientContext.Load(targetList);
CamlQuery camlQuery
= new CamlQuery();
camlQuery.ViewXml
= viewXML;
listItems
= targetList.GetItems(camlQuery);
clientContext.Load(listItems);
clientContext.ExecuteQueryAsync(successEventHandler, failEventHandler);
}

public void CreateListItemAsync(string listName, Dictionary<string, object> fieldValueDic, ClientRequestSucceededEventHandler onSuccess, ClientRequestFailedEventHandler onFail)
{
clientContext.Load(clientContext.Web);
List targetList
= clientContext.Web.Lists.GetByTitle(listName);
clientContext.Load(targetList);
ListItemCreationInformation itemCreateInfo
= new ListItemCreationInformation();
ListItem oListItem
= targetList.AddItem(itemCreateInfo);
foreach (KeyValuePair<string, object> pair in fieldValueDic)
{
oListItem[pair.Key]
= pair.Value;
}
oListItem.Update();
clientContext.Load(oListItem);
clientContext.ExecuteQueryAsync(onSuccess, onFail);
}

public void UpdateListItemAsync(string listName, ListItem item, Dictionary<string, object> fieldValueDic, ClientRequestSucceededEventHandler onSuccess, ClientRequestFailedEventHandler onFail)
{
clientContext.Load(clientContext.Web);
List targetList
= clientContext.Web.Lists.GetByTitle(listName);
clientContext.Load(targetList);
ListItem oListItem
= item;
foreach (KeyValuePair<string, object> pair in fieldValueDic)
{
oListItem[pair.Key]
= pair.Value;
}
oListItem.Update();
clientContext.Load(oListItem);
clientContext.ExecuteQueryAsync(onSuccess, onFail);
}

public void Dispose()
{
if (null != clientContext)
clientContext.Dispose();
}
}
}

NET技術一個Silverlight的網頁訪問計數器,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 南京市| 监利县| 新平| 隆德县| 合肥市| 襄樊市| 郁南县| 扶风县| 原阳县| 宣威市| 逊克县| 镇赉县| 曲麻莱县| 嘉禾县| 花莲县| 文成县| 南川市| 包头市| 肇庆市| 玉龙| 环江| 黄骅市| 屯昌县| 麦盖提县| 西藏| 东莞市| 卫辉市| 东丽区| 旺苍县| 濮阳县| 托克托县| 陇南市| 六盘水市| 嘉兴市| 治县。| 民丰县| 科技| 琼中| 云龙县| 桑日县| 福贡县|