【发布时间】:2019-08-02 15:35:29
【问题描述】:
我有一个 ASP.Net 框架 Web 应用程序,它试图从发票中创建一个 .docx(或 .pdf)文件。
在我的本地机器上,在开发环境中,代码可以正常工作。
但在生产服务器中我遇到了问题,将 IIS_Users 访问到“Microsoft Word 97 - 2003 Document”。
我通过实施以下问题的公认答案来解决该问题。
Accessing Office Word object model through asp.net
但是现在,当我关闭远程桌面连接并尝试从网站获取文件时,我从服务器收到错误 500,当再次远程到服务器时,我可以下载文件并且我的代码在生产服务器上运行良好。
换句话说,当 RDP 断开连接时,IIS 无法访问“Microsoft Word 97 - 2003 Document”。
我认为关闭 RDP 会导致用户注销,这就是 IIS_Users 无法访问“Microsoft Word 97 - 2003 Document”的原因。
我也用谷歌搜索了这个,但没有找到任何解决方法。有什么方法可以让用户在远程连接关闭后仍然保持登录状态?
【问题讨论】:
-
我不确定我是否理解正确,但依赖服务帐户用户通过 RDP 登录的过程听起来存在根本缺陷。
-
@Filburt 请解释更多。
-
不要使用 Interop 创建 Word 或 Excel。它会产生各种问题,就像您遇到的问题一样。使用专门的库。
-
@MohammadRN 我认为 Elendil 的回答很好地解释了这一点。
-
我自己没用过,但也许github.com/xceedsoftware/DocX?
标签: asp.net windows iis permissions windows-server-2016