需要编写一个服务器文本文件作为由ASP.net应用程序发起的业务流程的输出。 使用标准流代码的文本文件写入代码位于库文件中Asp.net写服务器端文件
IDE中的所有工作都正常。
发布和它试图写入文件。 IIS不愿意写入文件系统。
大量翻找和拉发最终导致了解决方案。它并不漂亮,只适用于您可以控制Web服务器的情况。
需要编写一个服务器文本文件作为由ASP.net应用程序发起的业务流程的输出。 使用标准流代码的文本文件写入代码位于库文件中Asp.net写服务器端文件
IDE中的所有工作都正常。
发布和它试图写入文件。 IIS不愿意写入文件系统。
大量翻找和拉发最终导致了解决方案。它并不漂亮,只适用于您可以控制Web服务器的情况。
刚才看到了你的答案。
它不需要是你的Inetpub或的wwwroot目录对于这个问题里面,因为安全权限下该应用程序运行在用户正确设置它可以在任何地方,只要。
但是这实际上是需要的。如果不只是想象任何地方允许写入访问的后果。
此外,不需要虚拟目录。你可以创建一个像C:\ ProcessOutput这样的目录,并相应地授予权限,它应该可以正常工作。 另一种选择是创建一个服务帐户,并在您的应用程序中仅将该用户模拟为需要编写该输出文件的用户。
的解决办法是: 创建web服务器上的物理目录中的物理路径: C:\的Inetpub \ wwwroot的\ mywebapp \ myOutputFileDirectory
做一个指向该目录的虚拟目录。
使用Windows资源管理器将物理目录的写入权限授予IIS_IUSRS。
用C的物理路径:\的Inetpub \ wwwroot的\ mywebapp \ myOutputFileDirectory在你的StreamWriter代码
也许如果你得到的安全分类,但我足够的虚拟路径可能指向整个局域网的地方更明智受到感谢,接受这个小碎片。
嗨巴勃罗,谢谢你的回应。理解概念必需品。我所提出的只是获得结果的一种方式。不是很漂亮,但是当你对安全性不太熟悉,而且你正在处理一个内部应用程序时,它会完成这项工作。虚拟目录可能不是必需的,但是没有足够的时间进一步做实验。 –
是的,完全可以理解,也在那里:) 我只是想确保你不认为这是强制性的,有一个虚拟目录的工作。 –