【发布时间】:2015-12-01 13:21:16
【问题描述】:
我写了一个实现视频处理功能的服务。
从客户端(控制台项目),我使用客户端服务引用调用服务的函数,并将 FileStream 作为参数发送给函数(我验证它确实在客户端获得了正确的值)。
但是当FileStream 参数进入服务时 - 我遇到空异常问题,FileStream 中没有正确的值。
我该如何解决?
我的代码:
服务:
public class VideoProcess : IVideoProcess
{
public void UploadVideo(int VideoPartNumber, FileStream videoFile, Guid ApplicatId, Guid TransactionCode)
{
}
}
我的客户:
FileStream videoFile = new FileStream(@"C:\VJob\gizmo.mp4", FileMode.Open, FileAccess.Read);
//vpc id the client service reference
vpc.UploadVideo(2222, videoFile, new Guid("324792c9-d43c-4e38-8f94-7fc0ed2d7492"), Guid.NewGuid());
【问题讨论】:
-
您是否调试过服务代码以查看引发异常的位置?
-
是的,当试图从 FileStream 中获取 name 属性时
-
那段代码是什么?当时究竟是什么?将该信息编辑到您的问题中。
-
是的,从一开始我就可以打开文件流并在字段中看到 nullExceptions,尝试从文件流中获取 name 属性并获得“未知”,并在尝试转换文件时发生执行从名称到另一种类型。
-
当我将鼠标悬停在 FileStream 上方并打开它时,我可以看到内部参数:Handle: 'videoFile.Handle' 抛出了 'System.Null ReferenceException' 类型的异常,与 Length 字段和名称中的内容相同是“未知”
标签: c# web-services wcf argumentnullexception filestreams