3

我编写了很多利用实体框架和 LINQ 来返回 JSON 数据的 VB.net Web 服务。很多时候,我只是直接从 Using 语句中返回数据。

我不禁想知道,存储返回值并将其返回到 Using 语句之外有什么好处吗?

有关使用状态的MSDN 文档:

" 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
4

2 回答 2

1

我会说在 using 语句中返回是可以接受的。请记住, using 是一个 try-catch-finally ,在代码在 using 中运行之后,它将像 finally 一样调用 dispose 方法。这将与您的代码相同:

Try
    Return (From R In CTX.[Rows]).ToList
Catch Ex As Exception
    'Capture & Report Error
Finally
    'dispose
End Try
于 2013-10-24T15:27:14.867 回答
0

存储返回值并将其返回到 Using 语句之外有什么好处吗?

不,我认为没有。

然而,在你的异常块中添加代码有一个巨大的优势——对异常做一些事情,所以这是一个已知的问题......

于 2013-10-24T15:22:46.997 回答