需要将服务器文本文件写为ASP.net应用程序启动的业务流程的输出。 文本文件编写代码使用标准流代码
在库文件中在IDE中一切正常。
发布并试图写入文件。 IIS不愿意写入文件系统。
周围的翻找和拔毛最终导致了一个解决方案。它并不漂亮,仅适用于您可以控制Web服务器的情况。
答案 0 :(得分:0)
解决方案是: 在Web服务器上创建物理目录,物理路径为: C:\的Inetpub \ wwwroot的\ mywebapp \ myOutputFileDirectory
创建一个指向目录的虚拟目录。
使用Windows资源管理器为IIS_IUSRS提供对物理目录的写入权限。
在您的Streamwriter代码中使用c:\ inetpub \ wwwroot \ mywebapp \ myOutputFileDirectory的物理路径
如果您对安全性进行了排序,那么虚拟路径可能会指向整个局域网更合理的地方但是我已经受到了足够的打击以接受这个小小的面包屑而感激不尽。
答案 1 :(得分:0)
刚看到你的答案。
它不需要在 inetpub 或 wwwroot 目录中,只要为用户正确设置安全权限,它就可以在任何地方应用程序在其下运行。
但实际上这是理想的。如果不仅仅想象允许在任何地方进行写访问的后果。
此外,不需要虚拟目录。您可以创建一个类似C:\ ProcessOutput的目录,并相应地授予权限,它应该可以正常工作。 另一种选择是创建一个服务帐户,并在您的应用程序中模拟该用户,仅用于您需要编写该输出文件的时间。