Server 2012/Win8 fix Temporary ASP.Net Files

Fixed: Create Temporary ASP.Net Files when running as admin (Server
2012/Win8)
#ND-68 fixed
pull/3113/head
Mark McDowall 12 years ago
parent f032917595
commit a0e3255222

@ -1,4 +1,6 @@
using System; using System;
using System.IO;
using System.Runtime.InteropServices;
using System.ServiceProcess; using System.ServiceProcess;
using NLog; using NLog;
using Ninject; using Ninject;
@ -19,11 +21,13 @@ namespace NzbDrone
private readonly ProcessProvider _processProvider; private readonly ProcessProvider _processProvider;
private readonly MonitoringProvider _monitoringProvider; private readonly MonitoringProvider _monitoringProvider;
private readonly SecurityProvider _securityProvider; private readonly SecurityProvider _securityProvider;
private readonly DiskProvider _diskProvider;
[Inject] [Inject]
public ApplicationServer(ConfigFileProvider configFileProvider, IISProvider iisProvider, public ApplicationServer(ConfigFileProvider configFileProvider, IISProvider iisProvider,
DebuggerProvider debuggerProvider, EnvironmentProvider environmentProvider, DebuggerProvider debuggerProvider, EnvironmentProvider environmentProvider,
ProcessProvider processProvider, MonitoringProvider monitoringProvider, SecurityProvider securityProvider) ProcessProvider processProvider, MonitoringProvider monitoringProvider,
SecurityProvider securityProvider, DiskProvider diskProvider)
{ {
_configFileProvider = configFileProvider; _configFileProvider = configFileProvider;
_iisProvider = iisProvider; _iisProvider = iisProvider;
@ -32,6 +36,7 @@ namespace NzbDrone
_processProvider = processProvider; _processProvider = processProvider;
_monitoringProvider = monitoringProvider; _monitoringProvider = monitoringProvider;
_securityProvider = securityProvider; _securityProvider = securityProvider;
_diskProvider = diskProvider;
} }
public ApplicationServer() public ApplicationServer()
@ -48,6 +53,14 @@ namespace NzbDrone
{ {
_iisProvider.StopServer(); _iisProvider.StopServer();
_securityProvider.MakeAccessible(); _securityProvider.MakeAccessible();
if(_securityProvider.IsCurrentUserAdmin())
{
var tempFiles = Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "Temporary ASP.NET Files");
logger.Debug("Creating Temporary ASP.Net folder: {0}", tempFiles);
_diskProvider.CreateDirectory(tempFiles);
}
_iisProvider.StartServer(); _iisProvider.StartServer();
_debuggerProvider.Attach(); _debuggerProvider.Attach();

Loading…
Cancel
Save