【问题标题】:How do i perform File I/O on a WCF service?如何在 WCF 服务上执行文件 I/O?
【发布时间】:2012-03-01 20:35:53
【问题描述】:

如何在 WCF 服务上执行文件 I/O?

它似乎在模拟器中运行良好,因为它没有给我一个错误,但是当我将它部署到本地 IIS 7 上时,它给了我这个:

在 System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(消息 回复、MessageFault 故障、字符串操作、MessageVersion 版本、 FaultConverter faultConverter)
在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc&rpc)
在 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] 出局,TimeSpan 超时)
在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall、ProxyOperationRuntime 操作)
在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 留言)

我基本上是在尝试使用该服务生成 XLS 文件。因为我真的是 WCF 的新手,所以我不知道我使用的 api 是否错误。我只是使用文件流对象来写入数据。我认为这与我正在写入的文件的位置有关,但我找不到任何关于如何将数据写入文件的教程。

【问题讨论】:

  • 您是否检查过 IIS 是否有权写入该位置?
  • 您给我们的是堆栈跟踪 - 但不是 错误消息 .....
  • 在 WCF 服务方法中执行 I/O 并没有什么特别或“魔法”——它只是普通的旧 .NET 代码。您需要检查的是,您尝试将文件写入到的 位置 对于运行代码的用户帐户是否可写。

标签: c# wcf iis io


【解决方案1】:

请检查您的 IIS 应用程序池标识。设置的标识必须对您正在创建 xls 文件的文件夹具有写入权限。

【讨论】:

    【解决方案2】:

    它对我有用,AP Pool 必须具有写入权限,设置的身份必须对您正在创建 xls 文件的文件夹具有写入权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      • 2020-08-05
      • 2016-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多