日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [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網站的訪問。

總結

以上是生活随笔為你收集整理的[Sharepoint2007对象模型]第三回:Web应用程序(SPWebApplication)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。