我写了很多利用Entity Framework& amp;的VB.net Web服务。 LINQ返回JSON数据。很多时候,我只是直接从Using语句中返回数据。
我不禁想知道,存储返回值并将其返回到Using语句之外是否有任何好处?
“无论你如何退出街区,使用区块都可以保证资源的处置。”
所以我认为这是可以接受的,但我只是想确保我不会错过任何潜在的问题。
示例代码:
<WebMethod(), ScriptMethod(ResponseFormat:=ResponseFormat.Json)>
Public Function GetListOfRows()
Try
Using CTX As New [EFContext]
Return (
From R In CTX.[Rows]
).ToList()
End Using
Catch Ex As Exception
'Capture & Report Error
End Try
End Function
答案 0 :(得分:1)
我会说在using语句中返回是可以接受的。请记住,using是一个try-catch-finally,在使用后代码运行它将调用dispose方法,就像最后一样。这与您的代码相同:
Try
Return (From R In CTX.[Rows]).ToList
Catch Ex As Exception
'Capture & Report Error
Finally
'dispose
End Try
答案 1 :(得分:0)
存储返回值并返回它是否有任何好处 在使用声明之外?
不,我认为没有。
然而,在你的异常块中添加代码有一个巨大的优势 - 做一些异常的事情,所以这是一个已知的问题......