Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
响应对象在WCF中不可用?_Wcf_Silverlight_Response - Fatal编程技术网

响应对象在WCF中不可用?

响应对象在WCF中不可用?,wcf,silverlight,response,Wcf,Silverlight,Response,我正在创建一个基于silverlight的电子邮件系统,我使用WCF读取电子邮件,然后将数据传递给SL应用程序,我在另一个测试web项目中使用了以下代码将字节数组保存到客户端系统(电子邮件附件)上的文件中,它工作正常,但当我想在我的WCF(myservice.svc.cs)中使用它们时,我遇到了以下错误:“名称‘Response’在当前上下文中不存在”,这里出了什么问题?是否可以在服务中使用Response对象 Response.AppendHeader("Content-Dispo

我正在创建一个基于silverlight的电子邮件系统,我使用WCF读取电子邮件,然后将数据传递给SL应用程序,我在另一个测试web项目中使用了以下代码将字节数组保存到客户端系统(电子邮件附件)上的文件中,它工作正常,但当我想在我的WCF(myservice.svc.cs)中使用它们时,我遇到了以下错误:“名称‘Response’在当前上下文中不存在”,这里出了什么问题?是否可以在服务中使用Response对象

      Response.AppendHeader("Content-Disposition", String.Format("attachment; filename={0}", messages[i].Attachments[j].FileName));
                    Response.BinaryWrite(messages[i].Attachments[j].FileData);

如何保存附件?

不,您通常不会在WCF中使用HttpResponse对象(尽管我不能100%确定您是否可以在REST服务中使用它)。如果要向客户端发送文件,则需要实现一个返回字节数组或文件流的服务操作。这可能会对您有所帮助。

谢谢,您的意思是我应该返回字节数组而不是将其写入流中?我在Silverlight中使用此服务,那么如何使用此返回的字节数组来保存我的文件SL?@Ali_dotNet中的文件您可以使用该类,该类可以为您提供一个要写入的文件流,您可以将数组的内容写入该文件流。SaveFileDialog提供一个FileStream,您可以使用FileStream.write方法写入字节数组。在写入该类后,尝试调用FileStream.Flush和FileStream.Close方法文件的字节数。@Ali_dotNet SL不允许用户在没有选择文件位置、名称和扩展名(这是一项安全功能)的情况下保存文件。但是,SaveFileDialog确实有可以使用的DefaultFileName和DefaultExt属性。