2009-06-12 87 views
1

我使用下面的代码以编程方式创建一个Web应用程序&子网站,编程方式创建Web应用程序和子网站

  try 
      { 

       SPWebApplicationBuilder webAppBuilder = new SPWebApplicationBuilder(SPFarm.Local); 

       SPWebApplication newApplication; 
       int myPort = 3333; 
       webAppBuilder.Port = myPort; //Port No. 
       webAppBuilder.RootDirectory = new System.IO.DirectoryInfo("C:\\Inetpub\\wwwroot\\wss\\VirtualDirectories\\" + myPort); 
       webAppBuilder.CreateNewDatabase = true; // Create new database 

       webAppBuilder.DatabaseName = "WSS_Content_372772890a5a4a04abb460cd9ea3bd22"; // Database name 
       webAppBuilder.DatabaseServer = webAppBuilder.DefaultZoneUri.Host; // DatabaseServer Host name/computer name   

       webAppBuilder.UseNTLMExclusively = true; // Use NTLM authentication 

       newApplication = webAppBuilder.Create(); // Create new web application 
       newApplication.Provision();   // Provision it into web farm   

       using (var mySiteCollection = newApplication.Sites.Add("/", "Site 3", "Site 3 Decscription", 1033, "STS#1", "In-Wai-Svr2\\Administrator", "Administrator", "[email protected]")) 
       { 
        using (var rootWeb = mySiteCollection.RootWeb) 
        {       
         // Code customizing root site goes here       

         using (var subSite = rootWeb.Webs.Add("Site3.1", "Site 3.1", "Site 3.1 Description", 1033, "STS#1", true, false)) 
         {        
          // Code customizing sub site goes here 
         }       
        } 
       } 
      } 
      catch(Exception ex) 
      { 
       ; 
      }   

它工作正常,也就是说,它创建了子网站,但在指定的端口上的Web应用程序此子网站不会显示在快速启动栏的“网站”菜单下,也不会在主页上显示为单独的选项卡。是否有可能以编程方式进行?

回答

0

“的Web应用程序,但该子网站并没有出现在主页上一个单独的标签”

我认为你正在试图acomplish是创建一个新的网站,同样的应用程序中,对于你不能创建一个新的应用程序,因为它会创建一个新的站点池。您必须在您的主网站的相同应用程序内创建一个新的“子”网站。

希望这有助于: example

0
SharepointSiteService.Sites siteWS = new SharepointSiteService.Sites(); 
           siteWS.Credentials = new System.Net.NetworkCredential("user1", "password", "domain"); 
try 
{ 

              SharepointSiteService.Template[] templates; 
              siteWS.GetSiteTemplates(1033, out templates); 
              SharepointSiteService.Template template = (from SharepointSiteService.Template t 
              in templates 
                         where t.Title == "Test Template" 
                         select t).FirstOrDefault(); 

siteWS.CreateWeb("<parent web name>" + "/" + <sub web name>" + "/" + <sub web name>", "Test web", "Test Web", template.Name, 1033, true, 1033, true, 1033, true, false, false, false, false, false, false); 
} 
catch (Microsoft.SharePoint.SoapServer.SoapServerException e) 
{ 
             System.Diagnostics.EventLog.WriteEntry("SharePoint Foundation", "soap exception" + e.Detail + e.Message + e.Source + e.Node); 
} 
catch (Exception ex) 
{ 
             System.Diagnostics.EventLog.WriteEntry("SharePoint Foundation", "Site Created"); 
             System.Diagnostics.EventLog.WriteEntry("SharePoint Foundation", ex.Message + ex.Source + ex.StackTrace); 
}`enter code here` 
相关问题