Программно создать веб-приложение и суб-сайт - PullRequest
1 голос
/ 12 июня 2009

Я использую следующий код для программного создания веб-приложения и под-сайта,

            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", "tjagtap@waiin.com"))
                {
                    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)
            {
                ;
            }        

Работает нормально, т. Е. Создает веб-приложение на указанном порту с подузлом, но этот подузел не будет отображаться в меню «Сайты» панели быстрого запуска, а также не будет отображаться как отдельная вкладка на домашней странице. Можно ли сделать это программно?

Ответы [ 2 ]

0 голосов
/ 08 января 2013
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`
0 голосов
/ 15 июня 2009

"веб-приложение, но суб-сайт не отображается как отдельная вкладка на главной странице"

Я думаю, что вы пытаетесь создать новый веб-сайт внутри того же приложения, для которого вы не можете создать новое приложение, потому что оно создаст новый пул сайтов. Вы должны создать новый «подчиненный» веб-сайт в том же приложении, в котором находится ваш домашний сайт.

надеюсь, это поможет: пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...