Я использую следующий код для программного создания веб-приложения и под-сайта,
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)
{
;
}
Работает нормально, т. Е. Создает веб-приложение на указанном порту с подузлом, но этот подузел не будет отображаться в меню «Сайты» панели быстрого запуска, а также не будет отображаться как отдельная вкладка на домашней странице. Можно ли сделать это программно?