[Sharepoint2007对象模型]第二回:Web应用程序服务(SPWebService)
在上一回中说了Sharepoint中的服务器场,在服务器场中最重要的一个服务就是Web应用程序服务。我们自己的Sharepoint网站都是借助于这个服务才能正常运行的,也就是说所有的Sharepoint站点都是搭建在这个服务之上的。Web应用程序服务对应的对象模型为:SPWebService,本回就主要说说这个对象模型。
Web应用程序服务取得方式请参考第一回,它主要包含以下几个对象模型:
1、Web应用程序,指的是在这个Web应用程序服务下放置的几个web应用程序,也就是在Sharepoint的管理中心创建的web应用程序
对应的对象模型为:SPWebApplicatio
TreeNode nodeWebApp = nodeWeb.Nodes.Add("Web应用程序");
foreach (SPWebApplication app in webServices.WebApplications)
{
TreeNode nodeOneWeb = nodeWebApp.Nodes.Add(app.DisplayName);
ShowWebApplication(app, nodeOneWeb);
}
ShowWebApplication是用来取得这个web应用程序信息的,比如这个web应用程序包含几个站点集等,下回分解:)foreach (SPWebApplication app in webServices.WebApplications)
{
TreeNode nodeOneWeb = nodeWebApp.Nodes.Add(app.DisplayName);
ShowWebApplication(app, nodeOneWeb);
}
2、属性集,用来定义此服务包含哪些属性
TreeNode nodeProperty = nodeWeb.Nodes.Add("属性集");
foreach (DictionaryEntry entry in webServices.Properties)
{
nodeProperty.Nodes.Add(entry.Key.ToString());
}
foreach (DictionaryEntry entry in webServices.Properties)
{
nodeProperty.Nodes.Add(entry.Key.ToString());
}
3、应用程序池,指的是此Web服务使用的是哪个应用程序池,在创建Web应用程序时会指定一个应用程序池,也就是在IIS中的应用程序池,一般不同的web应用程序最好使用不同的应用程序池。
对应的对象模型为:SPApplicationPool
TreeNode nodeAppPool = nodeWeb.Nodes.Add("应用程序池");
foreach (SPApplicationPool appPool in webServices.ApplicationPools)
{
nodeAppPool.Nodes.Add(appPool.DisplayName);
}
foreach (SPApplicationPool appPool in webServices.ApplicationPools)
{
nodeAppPool.Nodes.Add(appPool.DisplayName);
}
4、网站配额模板,指的是对某个子网站的配额限制,特别是对个人网站需要指定每个个人网站所允许的大小,在sharepoint的管理中心可以看到:

对应的对象模型为:SPQuotaTemplate
TreeNode nodeQuota = nodeWeb.Nodes.Add("网站配额模板");
foreach (SPQuotaTemplate quota in webServices.QuotaTemplates)
{
nodeQuota.Nodes.Add(quota.Name);
}
foreach (SPQuotaTemplate quota in webServices.QuotaTemplates)
{
nodeQuota.Nodes.Add(quota.Name);
}
执行后的画面如下:
小结:本回介绍了Web应用程序服务的对象模型,这些可能都是一些比较大的概念,下回介绍Web应用程序的对象模型,离我们自己的网站对象模型越来越近了:)
分类:
SharePoint
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决