2012-03-20 71 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

相關問題