【发布时间】: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 代码。您需要检查的是,您尝试将文件写入到的 位置 对于运行代码的用户帐户是否可写。