我的ASP-Webpages应用程序需要将自行生成的文件写入其根目录下的本地文件夹中。在我的开发环境中,一切都像魅力一样运行,甚至到任何其他给定的网络位置。 问题是我无法让生产环境做到这一点。仅在任何地方都不会创建文件。丢失权限等也不会引发任何异常。Nada。
我相信我已经阅读并尝试了过去7年中任何人在Internet上撰写的所有内容,并且我觉得自己在追逐自己的想法以寻求解决此问题的动力。真的那么难吗? 冒着被标记为重复的风险,除了在这里发布我的问题,我别无选择。
基本上,这就是我目前所拥有的:
生产应用程序在Windows Server 2008 R2(IIS版本7.5)上运行。它具有专用的应用程序池,其标识设置为ApplicationPoolIdentity(.NET Framework v4 /集成管道)。 Application Basic Settings
已验证IIS_IUSRS的AppPool成员身份。 Verified Group Membership
用户身份验证设置为Windows身份验证。 User Authentication
是否应将匿名身份验证设置为“已启用”以使用ApplicationPoolIdentity?我尝试将其设置为打开,但它与Windows身份验证冲突,后者是我们应用程序的重要组成部分,无法关闭。 如果是这样,那怎么办?
已向应用程序池和IIS_IUSRS授予了对该文件夹的读取和写入权限。 我尝试设置“完全控制”,但这也无济于事。 Folder Security Settings
这是(向下分解的)代码,用于将文件写入所需的位置: Stripped-down Code
我尝试过的其他(愚蠢的)事情是:
我需要保持Windows身份验证,还能够让应用程序匿名将文件写入给定位置。
有人可以向我暗示正确的方向还是告诉我我忽略了什么?
谢谢!