bugfix: CheckLoadUserProfile() on IIS8

This commit is contained in:
Sergey 2012-09-27 15:31:34 +03:00
parent a7e191a748
commit c6d1fe9549
3 changed files with 41 additions and 14 deletions

View file

@ -3414,7 +3414,6 @@ namespace WebsitePanel.EnterpriseServer
public static int GetPackageIdByName(string Name)
{
// get Helicon Zoo provider
int packageId = -1;
List<ProviderInfo> providers = ServerController.GetProviders();
foreach (ProviderInfo providerInfo in providers)
@ -3426,10 +3425,10 @@ namespace WebsitePanel.EnterpriseServer
}
}
if (-1 == packageId)
{
throw new Exception("Provider not found");
}
//if (-1 == packageId)
//{
// throw new Exception("Provider not found");
//}
return packageId;
}

View file

@ -412,18 +412,36 @@ namespace WebsitePanel.EnterpriseServer
public static bool CheckLoadUserProfile(int serverId)
{
int packageId = DataProvider.GetPackageIdByName("IIS70");
int packageId = getIISPackageId();
if (packageId != -1)
{
int serviceId = DataProvider.GetServiceIdByProviderForServer(packageId, serverId);
return WebServerController.GetWebServer(serviceId).CheckLoadUserProfile();
}
return false;
}
private static int getIISPackageId()
{
int packageId = DataProvider.GetPackageIdByName("IIS80");
if (packageId == -1)
packageId = DataProvider.GetPackageIdByName("IIS70");
if (packageId == -1)
packageId = DataProvider.GetPackageIdByName("IIS60");
return packageId;
}
public static void EnableLoadUserProfile(int serverId)
{
int packageId = DataProvider.GetPackageIdByName("IIS70");
int packageId = getIISPackageId();
if (packageId != -1)
{
int serviceId = DataProvider.GetServiceIdByProviderForServer(packageId, serverId);
WebServerController.GetWebServer(serviceId).EnableLoadUserProfile();
}
}

View file

@ -4046,7 +4046,12 @@ namespace WebsitePanel.Providers.Web
{
using (var srvman = new ServerManager())
{
return srvman.ApplicationPools["WebsitePanel Server"].ProcessModel.LoadUserProfile;
string poolName = Environment.GetEnvironmentVariable("APP_POOL_ID", EnvironmentVariableTarget.Process);
ApplicationPool pool = srvman.ApplicationPools[poolName];
if (pool == null)
throw new Exception("ApplicationPool pool is null" + poolName);
return pool.ProcessModel.LoadUserProfile;
}
}
@ -4055,7 +4060,12 @@ namespace WebsitePanel.Providers.Web
{
using (var srvman = new ServerManager())
{
srvman.ApplicationPools["WebsitePanel Server"].ProcessModel.LoadUserProfile = true;
string poolName = Environment.GetEnvironmentVariable("APP_POOL_ID", EnvironmentVariableTarget.Process);
ApplicationPool pool = srvman.ApplicationPools[poolName];
if (pool == null)
throw new Exception("ApplicationPool pool is null" + poolName);
pool.ProcessModel.LoadUserProfile = true;
// save changes
srvman.CommitChanges();
}