【发布时间】:2011-08-24 12:45:33
【问题描述】:
我们在将 ASP.NET 应用程序迁移到 Windows Server 2008 R2 x64 和 IIS7.5 时遇到问题。问题是我们的 ASP.NET 应用程序写入日志文件,而这些日志文件没有被写入。应用程序写入其日志文件的唯一方法是,如果我以本地管理员用户身份登录服务器,或者如果我右键单击并以管理员身份运行 IE,这两种方法都不是我们可接受的解决方案。
我们的平台是: Windows Server 2008 R2 x64(UAC 设置为默认设置) IIS7.5 ASP.NET 4.0(在 web.config 中使用 Windows 身份验证和模拟)
我们的应用安装到: D:[应用程序名称] [appnameWebSite](所有的.aspx、.dll等文件都在这里) \Log(应用程序尝试将日志文件写入此文件夹)
在服务器上: 创建了新的应用程序池(名称:[appname],.NET 4.0,托管管道模式:经典,身份:ApplicationPoolIdentity,加载用户配置文件:False,所有其他属性都是默认值) 创建指向 D:[appname][appnameWebSite] 的 IIS 应用程序并将其添加到新的应用程序池(完全信任级别) 在本地管理员组中拥有域用户
使用上面列出的所有配置和默认设置,ASP.NET 应用程序将不会写入日志文件。该应用在浏览器中似乎可以正常工作,但没有 log.txt 文件。
为了尝试“修复”这个问题,我们尝试了很多方法: 尝试过的应用程序池设置:托管管道模式:集成 尝试过的应用程序池设置:身份:NetworkService 尝试应用程序池设置:身份:LocalSystem 尝试过的应用程序池设置:加载用户配置文件:真 让用户组完全控制我们的应用程序文件夹结构的文件系统(尝试过 appname 文件夹,仅尝试过 Log 文件夹,仅尝试过 appnameWebSite 和 Log 文件夹) 让 IIS AppPool[appname](匹配新的 App Pool)用户完全控制我们的应用程序文件夹结构的文件系统(尝试过 appname 文件夹,仅尝试过 Log 文件夹,仅尝试过 appnameWebSite 和 Log 文件夹)
这些都没有帮助。同样,应用程序运行良好,只是没有创建日志文件。
如上所述,在应用程序运行时创建日志文件的唯一方法是,如果我们使用本地管理员帐户(这很有意义,因为他是超级用户)登录服务器,或者我们以管理员身份运行 IE 并且提升权限。
有什么建议吗?帮助?有问题吗?
谢谢!
【问题讨论】:
标签: asp.net permissions iis-7.5 uac application-pool