我有Microsoft模板,我自动从我的应用程序中填充它的字段,当用户请求打印时,我打开这个模板。
但是,每次用户在填写字段后请求打印时创建Word应用程序是非常昂贵的,并且在打开模板时可能会导致一些延迟。因此,我选择缓存对Word的引用,然后打开新的填充模板。
这解决了性能问题,因为每次打开文件比重新创建Word花费更少,但只有当用户只关闭文档而不是整个Word应用程序时才能起作用。当这种情况发生时,我对Word的引用变得无效,并在打开模板的下一个请求时返回:“RPC服务器不可用”。我试图订阅BeforeClosing事件,但这会触发退出Word和关闭文档。
我的问题是如何知道这个词是关闭一个文档还是退出整个应用程序,所以我采取了适当的行动,或者任何其他的提示,以提高打开一个单词模板的性能。
发布于 2010-03-20 10:16:20
我不熟悉如何正确订阅单词结束事件。但是,您可以选择的一种方法是乐观地假设Word未关闭,并使用您的缓存路径。在较高级别,捕获关闭Word时引发的Exception类型。如果遇到此异常,请删除对word的引用,并在第一次发生时重复操作。
您不会一直以这种方式获得缓存。但是,您将能够利用用户只关闭文档的情况。
https://stackoverflow.com/questions/2482396
复制相似问题