【问题标题】:IIS + microsoft.Office.Interop.WordIIS + microsoft.Office.Interop.Word
【发布时间】:2017-02-14 08:21:07
【问题描述】:

我开发了一个使用microsoft.Office.Interop.Word 生成文档的应用程序。

我在这里遇到了一些问题。
文档生成过程不适用于 windows server 2012 R2

经过长时间的互联网搜索后,它现在可以正常工作了。 但问题是,如果我的网站处于空闲模式大约 8 小时,然后如果我尝试执行相同的文档生成过程,它将无法正常工作。

但是,在 IIS 上重新启动我的应用程序池后,它又可以工作了。

有人知道发生了什么吗?
谢谢。

【问题讨论】:

  • 我发现了互操作的东西,如果完成后你不确保所有项目现在都为空,即使垃圾收集器也不会恢复它们,你最终会得到许多在你的情况下打开的实例......一旦你有太多它可能会变得不稳定..即使应用程序结束,它们仍然存在 - 所以对于网络也是如此..
  • 大概8小时后app pool被卸载,没有w3wp进程;那么你运行的用户没有登录,它不能运行你的代码。当然,任何异常信息都会有所帮助。
  • @zaitsman 我试图获取错误信息,但找不到任何单一的痕迹或线索。如果没有 w3wp 进程,那么它甚至不会运行该站点,但它可以完美地运行所有数据库功能,只有文档部分不起作用。
  • @BugFinder 你是对的,但在这种情况下,在重新启动应用程序池后它不应该工作,但不,在重新启动应用程序池后它再次完美运行,直到它在接下来的大约 8 小时内空闲。
  • 当它脾气暴躁时,绝对没有错误吗?服务器上没有看起来不合适的进程?

标签: c# iis interop office-interop iis-8


【解决方案1】:

不要在 Web 应用程序中进行 Office 互操作,Microsoft does not recommend 也一样。使用其他库(NPOI、Aspose...)有些是免费的,有些是商业的。

【讨论】:

  • 你是对的,但我正在开发一个较旧的项目,几乎不可能更改所有模块的代码。 @Benny
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多