MOSS2010 客户端对象模型开发(一)
2012-08-31 11:28 温森特 阅读(592) 评论(1) 编辑 收藏 举报MOSS2010的开发框架增加了客户端对象模型,增加了MOSS开发的灵活性,对于一些特殊需求的地方,非常的灵活。相对于MOSS服务器端开发,还是有一些值得注意的地方,我将会分几次对MOSS客户端开发技巧进行讲解。
MOSS2010 客户端开发,首先要得到网站的上下文,一般我们需要当前登录人的一些验证信息,如用户名和密码确认身份后,得到网站的上下文。
ClientContext client = new ClientContext(Url)
NetworkCredential credentials = new NetworkCredential(UserName, UserPassword,Domain));
client.Credentials = credentials;
然后就像服务器端那样开发,但是每当获取一个对象的时候,都要用上下进行加载操作, client.Load(……);否则对象本身实际上是没有被加载,得到的将是NULL。当所有的代码都执行完的时候,统一进行提交, client.ExecuteQuery(); 这个时候,才是真正的提交到服务器上进行执行。
下面是演示代码:
using (ClientContext client = new ClientContext(Url))
{
NetworkCredential credentials = new NetworkCredential(UserName, UserPassword, Functions.GetAppSeetingValueByKey(SysNames.P_DOMAIN_NAME));
client.Credentials = credentials;
Web web = client.Web;
client.Load(web);
List addressList = client.Web.Lists.GetByTitle("XXXXX");
client.Load(addressList);
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = @"<View><Query><OrderBy><FieldRef Name='Modified' Ascending='False' /></OrderBy></Query><RowLimit>1</RowLimit></View>";
ListItemCollection listItems = addressList.GetItems(camlQuery);
client.Load(listItems);
client.ExecuteQuery();
if (listItems.Count > 0)
{
resutl = DateTime.Parse(listItems[0]["Modified"].ToString()).ToString("yyyy-MM-dd HH:MM:ss");
}
}
{
NetworkCredential credentials = new NetworkCredential(UserName, UserPassword, Functions.GetAppSeetingValueByKey(SysNames.P_DOMAIN_NAME));
client.Credentials = credentials;
Web web = client.Web;
client.Load(web);
List addressList = client.Web.Lists.GetByTitle("XXXXX");
client.Load(addressList);
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = @"<View><Query><OrderBy><FieldRef Name='Modified' Ascending='False' /></OrderBy></Query><RowLimit>1</RowLimit></View>";
ListItemCollection listItems = addressList.GetItems(camlQuery);
client.Load(listItems);
client.ExecuteQuery();
if (listItems.Count > 0)
{
resutl = DateTime.Parse(listItems[0]["Modified"].ToString()).ToString("yyyy-MM-dd HH:MM:ss");
}
}
下一章节,我将讲述MOSS客户端对特殊的一些列表的访问和操作。
您的支持,我的动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构