[Sharepoint2007对象模型]第三回:Web应用程序(SPWebApplication)

在Sharepoint的管理中心创建一个网站的顺序大致如下:创建Web应用程序-〉创建网站集。所以Web应用程序是网站的一个基础,在一个Web应用程序下可以创建多个网站,本回就主要来介绍Web应用程序这个对象模型以及如何使用对象模型来创建一个Web应用程序。
首先来看看Web应用程序主要包含哪些内容:
1、网站集,指的是这个Web应用程序包含哪些网站,我们可以通过Sharepoint的管理中心看到:

对应的对象模型为:SPSite

            TreeNode nodeSite = nodeWeb.Nodes.Add("网站集");
            foreach (SPSite site in application.Sites)
            {
                nodeSite.Nodes.Add(site.Url);
            }


2、网站功能集,指的是这个web应用程序下包含哪些Feature,Feature是Sharepoint中一个比较重要的功能,可以参看我之前的文章,它对应的对象模型是:SPFeature

            TreeNode nodeFeature = nodeWeb.Nodes.Add("网站功能集");
            foreach (SPFeature feature in application.Features)
            {
                nodeFeature.Nodes.Add(GetFeatureName(feature.Definition));
            }


3、作业,指的是这个web应用程序有哪些计时器作业,它的对象模型是:SPRunningJob

            TreeNode nodeRunningJob = nodeWeb.Nodes.Add("作业");
            foreach (SPRunningJob job in application.RunningJobs)
            {
                nodeRunningJob.Nodes.Add(job.JobDefinitionTitle);
            }

在Sharepoint的管理中心可以看到:


4、作业定义,是包含作业的一些定义信息,对应的对象模型为:SPJobDefinition

            TreeNode nodeJobDef = nodeWeb.Nodes.Add("作业定义");
            foreach (SPJobDefinition jobDef in application.JobDefinitions)
            {
                nodeJobDef.Nodes.Add(jobDef.DisplayName);
            }


执行后的截图如下:
 

创建Web应用程序
在Sharepoint的管理中心可以通过界面创建Web应用程序,在界面上我们可以看到创建时主要需要如下属性:IIS 网站、安全性配置、负载平衡的 URL、应用程序池、数据库名称和验证。通过对象模型同样可以实现以上操作
首先需要取得创建Web应用程序的创建类

SPWebApplicationBuilder webAppBlder = new SPWebApplicationBuilder(CurrentFarm);


设置IIS站点属性

            webAppBlder.Id = Guid.NewGuid();
            webAppBlder.Port = 9002;
            webAppBlder.RootDirectory = new System.IO.DirectoryInfo(@"C:\Inetpub\wwwroot\wss\VirtualDirectories\9002");

这里我们指定创建的web站点的端口为9002

设置应用程序池的属性

 

            webAppBlder.ApplicationPoolId = "TestApp Pool-9012";
            webAppBlder.IdentityType = IdentityType.SpecificUser;
            webAppBlder.ApplicationPoolUsername = @"****\****";
            SecureString appPoolPwd = new SecureString();
            appPoolPwd.AppendChar('*');
            appPoolPwd.AppendChar('*');
            appPoolPwd.AppendChar('*');
            appPoolPwd.MakeReadOnly();
            webAppBlder.ApplicationPoolPassword = appPoolPwd;

复制代码

主要是指定IIS应用程序池的名称和访问用户名、密码等属性

web应用程序的安全性设置:

            webAppBlder.UseNTLMExclusively = true; 
            webAppBlder.AllowAnonymousAccess = false;
            webAppBlder.UseSecureSocketsLayer = false;

在这里设置为使用NTLM验证,在Sharepoint中使用了NTLM和Kerberos两种验证方式,Kerberos相对来说比较复杂一点的。不使用SSL,不允许匿名访问

设置负载平衡的 URL:

            webAppBlder.DefaultZoneUri = new Uri("http://*****:9002");


设置web应用程序的数据库属性:

            webAppBlder.CreateNewDatabase = true;
            webAppBlder.DatabaseServer = "*****";
            webAppBlder.DatabaseName = "TestApp9002";
            webAppBlder.DatabaseUsername = string.Empty;

这里数据库用户名设为空值,表示使用Windows集成认证的方式

创建Web应用程序

SPWebApplication webApp = webAppBlder.Create();

实际的在Sharepoint的服务器场中创建一个web应用程序

设置Web应用程序的常规属性

           webApp.DefaultTimeZone = 45;
            webApp.Name = "TestApp-9002";
            webApp.Update();

这里的时区45表示的是GMT+08:00北京时区
这里的设置主要是模拟sharepoint管理中心里<Web应用程序常规设置>中的配置

创建 IIS Web 应用程序和应用程序池

webApp.Provision();


通过以上步骤就可以创建一个标准的Web应用程序了,当然现在创建的Web应用程序还是一个空壳子,没有实质内容。在下一回中我会重点介绍网站集(SPSite)这个对象模型,在Web应用程序里创建网站集来实现Web网站的访问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CCNP-第一篇-思科SLA+华为BFD+ODR+浮动路由

CCNP-第一篇-CCNP-第一篇-思科SLA华为BFDODR浮动路由 从这就开始NP了,老规矩,先路由后交换,开搞 到了NP之后的配置会多很多很多哦!一篇很长过万字都不出奇. 思科静态路由浮动路由SLA检测 什么叫浮动路由呢?在双线的情况下做备份. 我们知道,路由都是有cost有优先级这个东西的…

SharePoint 2013开发入门探索(二)- 列表操作

我们如何用代码对SharePoint列表做些例如增删改查的操作呢&#xff1f;如果您的程序可以部署到服务器上&#xff0c;就可以使用 服务器对象模型&#xff0c;因为服务器对象模型提供的功能最多&#xff0c;限制最少&#xff1b;否则可能要选择客户对象模型等其他方式&#xff0c…

CCNP-第二篇-SLA扩展+EIGRP高级版(上)

CCNP-第二篇-SLA扩展EIGRP高级版 还是这个环境的SLA 我们想一个问题哈,如果会有抖动呢? 比如左边是主线路,右边是备用的,那如果左边的时候只是偶尔断了一个包,然后他就跳到备用了,然后bfd检测到又跳回来了,这样如此循环,这个就叫做网络抖动,我们有啥办法让他不这样操作呢? …

SharePoint 2013开发入门探索(一)- 自定义列表

在SharePoint 2013中创建自定义列表的方式有很多&#xff0c;在网站内容页面添加应用程序就可以创建&#xff08;站点内容-〉 您的应用程序&#xff09;&#xff0c;也可以通过SharePoint Designer 2013创建&#xff0c;而本文将描述的是用Visual Studio 2012 创建自定义列表的…

使用C#代码部署SharePoint 2013开发包简单总结(一)

这篇文章将总结下如何将自己开发的列表、Web部件、事件接收器等元素部署到SharePoint的服务器。因水平有限&#xff0c;我的做法未必是最佳实践&#xff0c;会有些错误理解和疏漏&#xff0c;欢迎各位高手批评指正——但一定要能给出更好的方案。如果您是SharePoint开发的新手&…

CCNP-第三篇 EIGRP高级版(四个特性)(下)+OSPF复习

CCNP-第三篇 EIGRP高级版(四个特性)(下)OSPF复习 EIGRP篇到此完结 接下来四篇都是OSPF哦 EIGRP下发默认路由 来看一个环境 这种环境一般来说是很常见的,然后这个呢,下面的服务器,都是需要指向汇聚层的,那么如果环境很大的时候,每个机器都要手动写,就很麻烦了 >可以做一个…

CCNP-第四篇-OSPF高级版(一)

CCNP-第四篇-OSPF高级版(一) OSPFOpen shortes path first 开放式最短路径优先协议 最大优点:公有,开放,任何一个品牌都能用 EIGRP最大优点:快的一批 EIGRP最大缺点:思科私有 OSPF甚至于在Liunx上也能运行起来 OSPF是采用动态更新的 所以会给设备带来大量的硬件消耗 在OSPF中…

【转】DevOps到底是什么意思?

提到DevOps这个词&#xff0c;我相信很多人一定不会陌生。 作为一个热门的概念&#xff0c;DevOps近年来频频出现在各大技术社区和媒体的文章中&#xff0c;备受行业大咖的追捧&#xff0c;也吸引了很多吃瓜群众的围观。 那么&#xff0c;DevOps是什么呢&#xff1f; 有人说它…

CCNP-第五篇-OSPF高级版(二)

CCNP-第五篇-OSPF高级版(二) 链路状态数据库LSDB拓扑表 link state database 收到之后放入自己的数据库再计算最新的放入路由表 根据COST值来计算 >COST值的计算方式10的8次方除以带宽这个环境会涉及一个东西叫做重分布,这类会做,然后下一章或者下下章会详细开始讲. 详细环…

IIS 内部运行机制

ASP.NET是一个非常强大的构建Web应用的平台&#xff0c;它提供了极大的灵活性和能力以致于可以用它来构建所有类型的Web应用。 绝大多数的人只熟悉高层的框架如&#xff1a; WebForms 和 WebServices — 这些都在ASP.NET层次结构的最高层。 这篇文章的资料收集整理自各种微软公…

CCNP-第六篇-OSPF高级版(三)

CCNP-第六篇-OSPF高级版(三) 这一节差不多都是密码认证了,还有个NSSA和OE1,OE2 OSPF默认路由OSPF认证问题OSPF特殊区域,NSSA,STUB OSPF下发默认路由 其实跟EIGRP一样,只不过是下发一条路由给别人指向自己 一般都用于核心连接出口处,或者汇聚连接核心处 如果是这种环境下,那…

SharePoint 2013异常信息的查看

刚刚学习SharePoint开发的时候&#xff0c;经常遇到一些异常&#xff0c;却不能直接看到详细信息&#xff0c;很郁闷。这里做下简单的整理&#xff0c;方便查找&#xff1a; 1、代码未处理异常出现黄页——”‘/’应用程序中的服务器错误。运行时错误“。 其实这个黄页是ASP.N…

CCNP-第七篇-OSPF高级版(四)+策略开头

CCNP-第七篇-OSPF高级版(四)策略开头 今天讲NSSA和完全NSSA NSSA区域叫做非完全末节区域,这个东西都不知道命名的人怎么想的 因为完全NSSA区域叫做完全非完全末节区域,pleas,你人傻了吗? NSSA区域特点:过滤4,5类的LSA,同时会5类转为7类条目 7类在路由表里面是ON的 然后,7类除…

同步界面

设置FFS程序 当你下载、安装好后桌面会出现这两个图标。左边是主要的程序&#xff0c;右边软件用来设置自动同步。打开绿色图标的程序。 打开蓝色的设置按钮。 建议选择“文件时间和大小”。单纯的大小不能反映内容。比较文件内容又取决于硬盘速度。如果速度够快可以选择文件内…

CCNP-第八篇-分发列表+PRB+重分布+Route-Map

CCNP-第八篇-分发列表PRB重分布Route-Map 这个学不好,BGP就一定学不好 Route-Map 这样理解吧,在Route-map中 ACL就相当于警察,只能抓,不能判 Rroute-map呢就相当于法官,法官可以判罚 一般都是结合使用的,因为不结合这玩意也没法用环境如图 需求:干掉100.1.1.0/24 在Route-m…

虎年第一篇-CCNP-第九篇-BGP(一)

CCNP-第九篇-BGP(一) 首先,开工啦,祝大家2022新年快乐虎年大吉,虎虎生威哦BGP是一个网络工程师的分水岭 这是真的,BGP一般很大的企业才能用得上,或者ISP运营商 人家可以不用,但是你不能不会吧, BGP,CCIE必考 BGP有四节课基础,后面CCIE的部分还有 从BGP开始就要换一种理念 因为之…

rsync算法原理及使用

如果服务器之间需要保持某些文件的一致&#xff0c;我们可以使用scp来复制&#xff0c;如果需要长期保持一致&#xff0c;可以配合crontab脚本来使用。但是此时我们有更优的方式&#xff0c;就是rsynccrontab来实现定时增量传输保持文件一致。 rsync功能很强大&#xff0c;网上…

CCNP-第十篇-BGP(二)

CCNP-第十篇-BGP(二) 首先 BGP都基本上部署在PE,CE设备 PE:Provider edge 运营商边界 CE:Customer edge 用户边界 建立BGP 1.一般呢,是会使用环回口建立BGP 2.因为他是虚拟接口,很稳定,而且不会down,只要系统在,他就不会down;; 3.如果他down了就是整个网络都断了 4.节约接口使…

CCNP-第十一篇-BGP(三)(精髓篇)

CCNP-第十一篇-BGP(三) BGP十三条线路原则(大点) 能修改的前7条,後6条是无法修改的,所以实际上7条 跟ACL一样,从上往下执行,比如第一条比较出来了就不会继续往下了 工作中比较多用的,第四条根据as-path一,权重-Weight 1.思科里面叫权重,是思科私有的,在华为叫首选优先级(Pre…

WSS 数据库表中的 UserInfo 表中的 tp_SystemId 字段的使用

在 WSS 的数据库中&#xff0c;UserInfo表的 tp_SystemId 记录的是用户登录验证时需要用到的数据&#xff0c;是此用户在 AD( Active Directory ) 中的 SID( Security ID )。此字段的数据很重要&#xff0c;不小心改动的话&#xff0c;此用户将不能登录 WSS。 这里介绍一下如何…