2012-03-20 29 views
0

我有一个wcf rest方法是什么返回流,但我不知道如何释放流?那会有一些问题?下面是演示:是否有可能不释放流?

[WebGet(UriTemplate = "GetImage")] 
    public Stream GetImage() 
    { 
     FileStream fs = File.OpenRead(@"D:\1.jpg"); 
     WebOperationContext.Current.OutgoingResponse.ContentType = "image/jpeg"; 
     return fs; 
    } 

回答

0

您可以使用使用自动释放对象的语句。

using(FileStream fs = File.OpenRead(@"D:\1.jpg")) 
{ 
} 
+0

如果我使用使用,那么我不能返回流 – JamesChen 2012-03-22 03:13:27

+0

-1:将无法正常工作:在WCF可以使用它来发送数据之前,流将被放置。 – 2012-03-24 16:02:10

2

默认情况下,WCF会在您完成使用后自动处理该流。有关该行为的更多信息,请参阅OperationBehavior属性上的AutoDisposeParameters参数。

+0

感谢您的帮助 – JamesChen 2012-07-05 01:08:13

+0

如果您希望人们在将来帮助您,请记住标记答案为已回答。 – bloudraak 2012-07-05 04:39:26

相关问题