我们正在尝试创建Windows服务,每天凌晨3点运行。该服务基本上删除/删除ASP.NET Temp文件。 我们能够找到命令行参数来停止/启动IIS并删除Temp文件。此外,我们创建了一个简单的Windows服务。 但是,我们有几个问题:
下面是停止/启动iis并删除临时文件的命令。
iisreset / stop C:\ WINDOWS \ system32> del / S / Q" C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temp orary ASP.NET Files \"
iisreset / start
任何人都可以指导我们吗?我们是否需要使用窗口服务或任务调度程序来停止iis,删除文件夹权限和删除临时文件夹。示例/指令将非常有用。
答案 0 :(得分:0)
Windows服务对此有点矫枉过正。您真正需要的是一个计划任务,开始运行您的命令,并将其设置为在有权访问本地IIS_IUSRS组的用户的实例下运行(或任何具有该文件夹的提升权限的用户。)
例如使用powershell:
invoke-command -scriptblock {iisreset / stop}
Get-ChildItem -Path“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temp orary ASP.NET Files \” - 包含。 -Recurse | foreach {$ _。删除()}
invoke-command -scriptblock {iisreset / start}
设置计划任务,如下所示: https://community.spiceworks.com/how_to/17736-run-powershell-scripts-from-task-scheduler
并将其设置为以对该文件夹具有提升权限的用户身份运行。
一旦IIS重新启动,您很可能还希望在您的网站上添加一个PowerShell网络请求,否则第一个在您执行此操作后再次访问该网站的人会延长初始加载时间。