2012-06-21 89 views
0

需要编写一个服务器文本文件作为由ASP.net应用程序发起的业务流程的输出。 使用标准流代码的文本文件写入代码位于库文件中Asp.net写服务器端文件

IDE中的所有工作都正常。

发布和它试图写入文件。 IIS不愿意写入文件系统。

大量翻找和拉发最终导致了解决方案。它并不漂亮,只适用于您可以控制Web服务器的情况。

回答

0

刚才看到了你的答案。

它不需要是你的Inetpub的wwwroot目录对于这个问题里面,因为安全权限下该应用程序运行在用户正确设置它可以在任何地方,只要。

但是这实际上是需要的。如果不只是想象任何地方允许写入访问的后果。

此外,不需要虚拟目录。你可以创建一个像C:\ ProcessOutput这样的目录,并相应地授予权限,它应该可以正常工作。 另一种选择是创建一个服务帐户,并在您的应用程序中仅将该用户模拟为需要编写该输出文件的用户。

+0

嗨巴勃罗,谢谢你的回应。理解概念必需品。我所提出的只是获得结果的一种方式。不是很漂亮,但是当你对安全性不太熟悉,而且你正在处理一个内部应用程序时,它会完成这项工作。虚拟目录可能不是必需的,但是没有足够的时间进一步做实验。 –

+0

是的,完全可以理解,也在那里:) 我只是想确保你不认为这是强制性的,有一个虚拟目录的工作。 –

0

的解决办法是: 创建web服务器上的物理目录中的物理路径: C:\的Inetpub \ wwwroot的\ mywebapp \ myOutputFileDirectory

做一个指向该目录的虚拟目录。

使用Windows资源管理器将物理目录的写入权限授予IIS_IUSRS。

用C的物理路径:\的Inetpub \ wwwroot的\ mywebapp \ myOutputFileDirectory在你的StreamWriter代码

也许如果你得到的安全分类,但我足够的虚拟路径可能指向整个局域网的地方更明智受到感谢,接受这个小碎片。