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

View file

@ -412,17 +412,35 @@ namespace WebsitePanel.EnterpriseServer
public static bool CheckLoadUserProfile(int serverId) public static bool CheckLoadUserProfile(int serverId)
{ {
int packageId = DataProvider.GetPackageIdByName("IIS70"); int packageId = getIISPackageId();
int serviceId = DataProvider.GetServiceIdByProviderForServer(packageId, serverId); if (packageId != -1)
return WebServerController.GetWebServer(serviceId).CheckLoadUserProfile(); {
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) public static void EnableLoadUserProfile(int serverId)
{ {
int packageId = DataProvider.GetPackageIdByName("IIS70"); int packageId = getIISPackageId();
int serviceId = DataProvider.GetServiceIdByProviderForServer(packageId, serverId); if (packageId != -1)
WebServerController.GetWebServer(serviceId).EnableLoadUserProfile(); {
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()) 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()) 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 // save changes
srvman.CommitChanges(); srvman.CommitChanges();
} }