0
當我創建我的網站使用ServerManager出於某種原因的asp.net設置沒有顯示在IIS中,但如果我手動創建網站,並指向目錄一切工作正常,我得到所有的設置。我一直在尋找幾個小時試圖找出我沒有運氣的錯誤。當我使用ServerManager在IIS中創建站點時,爲什麼ASP.NET設置不顯示?
這裏是我的代碼
int sleep = 3000;
Console.WriteLine(@"Installing Connections AD Sync UI\Services...");
//Extract Files
Console.WriteLine(@"Extracting required files...");
FileInfo info = new FileInfo(System.Reflection.Assembly.GetEntryAssembly().Location);
System.IO.File.WriteAllBytes(info.DirectoryName + @"\Payload.zip", ConnectionsADSyncInstaller.Properties.Resources.ConnectionsADSync);
ZipFile.ExtractToDirectory(info.DirectoryName + @"\Payload.zip", info.DirectoryName);
File.Delete(info.DirectoryName + @"\Payload.zip");
Thread.Sleep(sleep);
//Create IIS Site/Settings
ServerManager iisManager = new ServerManager();
Console.WriteLine("Setting up IIS application pool...");
ApplicationPool myApp = iisManager.ApplicationPools.Add("ConnectionsADSync");
myApp.
myApp.AutoStart = true;
myApp.ManagedPipelineMode = ManagedPipelineMode.Integrated;
myApp.ManagedRuntimeVersion = "V4.0";
myApp.ProcessModel.IdentityType = ProcessModelIdentityType.ApplicationPoolIdentity;
myApp.Enable32BitAppOnWin64 = true; //unsure...
Console.WriteLine("Configuring ConnectionsADSync web site in IIS...");
iisManager.CommitChanges();
Thread.Sleep(sleep);
//Give AppPool user permissions
Console.WriteLine("Configuring folder permissions for IIS application pool...");
DirectoryInfo myDirectoryInfo = new DirectoryInfo(info.DirectoryName + @"\ConnectionsADSync\ConnectionsADSyncWeb");
DirectorySecurity myDirectorySecurity = myDirectoryInfo.GetAccessControl();
myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(@"IIS APPPOOL\ConnectionsADSync", FileSystemRights.ReadAndExecute, AccessControlType.Allow));
myDirectoryInfo.SetAccessControl(myDirectorySecurity);
Thread.Sleep(sleep);
//Create the site
Site newSite = iisManager.Sites.Add("ConnectionsADSync", info.DirectoryName + @"\ConnectionsADSync\ConnectionsADSyncWeb", 8089);//D:\\ConnectionsADSync
newSite.ApplicationDefaults.ApplicationPoolName = "ConnectionsADSync";
newSite.ServerAutoStart = true;
iisManager.CommitChanges();
Thread.Sleep(sleep);
//Install Service
Console.WriteLine("Installing ConnectionsADSyncService (Windows Service)...");
Process proc = Process.Start(info.DirectoryName + @"\ConnectionsADSync\ConnectionsADSyncService\installer.bat");
proc.WaitForExit();
ServiceController service = new ServiceController("~ConnectionSyncServer");
service.Start();
Thread.Sleep(sleep);
Console.WriteLine("Installation complete, press Enter to exit");
Console.ReadLine();
enter code here
所以它看起來像它,因爲它沒有設置正確的.Net框架版本 – dtv8997
你甚至沒有設置正確的應用程序池。查看我更新的答案,瞭解如何使用API的更多詳細信息。 –