【问题标题】:Not able to create word document in WCF Service无法在 WCF 服务中创建 Word 文档
【发布时间】:2011-04-19 00:40:20
【问题描述】:

我正在使用 WCF 服务发送带有附件的邮件。 在这个 WCF 服务中,我正在创建一个 word 文档,将一些数据推送到这个文档中。并将其作为邮件附件。 创建word文档时出现以下错误:

服务器在处理请求时遇到错误。异常消息是“访问被拒绝。”。有关更多详细信息,请参阅服务器日志。异常堆栈跟踪是:

at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) 
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) 
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) 
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

有人可以帮忙吗

【问题讨论】:

  • Betrer 显示有关文档生命周期的代码。但是在任何类型的服务器上运行 Word 都不是一个好主意。
  • 您是否查看过运行 WCF 服务的用户的文件夹权限?以防万一这是权限问题。
  • 服务在(本地系统?)下运行的上下文可能无权访问启动字。我猜如果您在 Windows 应用程序中运行相同的代码,它会起作用。我想这一切都取决于它的托管方式。
  • 作为建议,如果您的目标至少是 Word2003,您应该考虑生成一个 XML 文档,该文档可以轻松地即时生成,并且您不需要在服务器上安装 Office。

标签: c# wcf


【解决方案1】:

我发现这个article 在 msdn 上非常有用。我认为它是从 2009 年开始的,但我认为它在您的场景中仍然是准确的。这基本上说明了微软并不真正支持这种事情和你可以做的替代品。

如果您必须在 wcf 服务中使用这样的自动化,我建议您在有权访问启动字的帐户下启动该服务。我对 wcf 不太熟悉,但我认为这是可以做到的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多