编程创建 应用程序池(SPApplicationPool) 应用程序(SPWebApplication) 网站集(SPSite)

若是大虾,直接跳过吧

一 基础准备

   1. Sharepoint2007对象模型系列

   一般开发人员或者初学者可能一般接触的对象都是SPSite级别一下的

   这里主要有 SPFarm,SPService, SPApplicationPool,SPWebApplication等等,当然还有SPFeatureDefinition,SPSolution等等

   2.Windows SharePoint Services 3.0 的管理对象模型

   来自MSDN的参考,

    几个方面来阐述wss的层次结构

    Windows SharePoint Services 的内容层次结构

    Windows SharePoint Services 的内容层次结构

    Windows SharePoint Services 的服务层次结构

    3.How to Create new application pool and change App Pool of SharePoint Website

     这里我们要知道的是,如果直接从iis里创建的应用程序池是不会被sharepoint识别的

二 逻辑

    1.创建应用程序池(SPApplicationPool)-->    2.创建应用程序(SPWebApplication)-->    3.创建网站集(SPSite)

     其中较为麻烦的为 创建应用程序

    1.创建应用程序池(SPApplicationPool)  

 

创建应用程序集
     public  SPApplicationPool CreateNewPool( string  poolName)
    {
            SPWebService webService 
=  farm.Services.GetValue < SPWebService > ();

            SPApplicationPool pool 
=   new  SPApplicationPool(poolName, webService);
            pool.CurrentIdentityType 
=  IdentityType.SpecificUser;
            pool.Username 
=   @" sharepoint2007\mossadmin " ;
            pool.Password 
=   " abc-*/123 " ;
            pool.Update();
            pool.Deploy();
            
return  pool;          
    }

 

     2. 创建应用程序   

 

代码
         public  SPWebApplication CreateWebApplication( string  appName, SPApplicationPool pool)
        {
            
int  port  =   2005 ;
            SPWebApplicationBuilder webAppBlder 
=   new  SPWebApplicationBuilder(farm);
            
// 设置IIS站点属性:
            webAppBlder.Id  =  Guid.NewGuid();
            webAppBlder.Port 
=  port;
            webAppBlder.RootDirectory 
=   new  System.IO.DirectoryInfo( @" C:\Inetpub\wwwroot\wss\VirtualDirectories\ "   +  port.ToString());

            
// 设置应用程序池的属性:
            
// 主要是指定IIS应用程序池的名称和访问用户名、密码等属性
            webAppBlder.ApplicationPoolId  =  "your application pool name";

            
// web应用程序的安全性设置:
            
// 在这里设置为使用NTLM验证,在Sharepoint中使用了NTLM和Kerberos两种验证方式,Kerberos相对来说比较复杂一点的。不使用SSL,不允许匿名访问
            webAppBlder.UseNTLMExclusively  =   true ;
            webAppBlder.AllowAnonymousAccess 
=   false ;
            webAppBlder.UseSecureSocketsLayer 
=   false ;

            
// 设置负载平衡的 URL:
            webAppBlder.DefaultZoneUri  =   new  Uri( " http://mossserver:2005 " );

            
// 设置web应用程序的数据库属性:
            
// 这里数据库用户名设为空值,表示使用Windows集成认证的方式
            webAppBlder.CreateNewDatabase  =   true ;
            webAppBlder.DatabaseServer 
=   " mossserver " ;
            webAppBlder.DatabaseName 
=   " TestApp2005 " ;
            webAppBlder.DatabaseUsername 
=   string .Empty;

            
// 创建Web应用程序:
            
// 实际的在Sharepoint的服务器场中创建一个web应用程序
            SPWebApplication webApp  =  webAppBlder.Create();

            
// 设置Web应用程序的常规属性:
            
// 这里的时区45表示的是GMT+08:00北京时区
            
// 这里的设置主要是模拟sharepoint管理中心里<Web应用程序常规设置>中的配置
            webApp.DefaultTimeZone  =   45 ;
            webApp.Name 
=  appName;
            webApp.Update();

            
// 创建 IIS Web 应用程序和应用程序池:
            webApp.Provision();

            
return  webApp;
        }

 

   3. 创建网站集 

  public  SPSite CreateSite(SPWebApplication webApp,  string  siteUrl)
 {    
     return  webApp.Sites.Add(siteUrl,  "" "" 2052 " BDR#0 " @" sharepoint2007\mossadmin " "" " [email protected] " );
 }

 其中 BDR#0 为网站模板,你可以参考 这里

 

希望可以给大家带来一些帮助,也希望大家给我带来帮助。

 

你可能感兴趣的:(application)