0

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

在 IDE 中一切正常。

发布并尝试写入文件时失败。IIS 不愿意写入文件系统。

到处翻找和拉头发终于找到了解决办法。它并不漂亮,仅适用于您可以控制 Web 服务器的情况。

4

2 回答 2

0

解决方案是:在网络服务器上创建一个物理目录,物理路径为:c:\inetpub\wwwroot\mywebapp\myOutputFileDirectory

创建一个指向该目录的虚拟目录。

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

在 Streamwriter 代码中使用 c:\inetpub\wwwroot\mywebapp\myOutputFileDirectory 的物理路径

如果您对安全性进行了分类,那么虚拟路径可能会指向 LAN 中更明智的地方,但我已经受够了以感激接受这个小小的面包屑。

于 2012-06-21T23:40:03.247 回答
0

刚看到你的回答。

它不需要在您的inetpubwwwroot目录中,它可以在任何地方,只要为运行应用程序的用户正确设置了安全权限。

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

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

于 2012-06-21T23:52:39.153 回答