发送到Response.ok()后关闭流

时间:2018-05-22 23:07:02

标签: httpresponse fortify

我正在尝试满足Fortify错误。我有一个方法从Clob.getCharacterStream()

返回一个Reader
<table class="table">

        <tr>
            <th>@Html.DisplayNameFor(m => m.A)</th>
            <th>@Html.DisplayNameFor(m => m.Details)</th>
        </tr>  

    @foreach (var item in Model)
    {

            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.A)

                </td>

                <td>
                    @{
                        var Details = "";
                        if (item.Details.Length > 10)
                        {
                            Details = item.Details.Substring(0, 10) + "...";
                        }
                        else
                        {
                            Details = item.Details;
                        }
                    }
                    <button class="link" type="button" data-id="@item.Id">
                        @Html.DisplayFor(modelItem => Details)
                    </button>

                </td>

            </tr>    

   }
</table>

...最终将它返回​​给调用

的方法
try (final ResultSet resultSet = statement.executeQuery()) {
    if (resultSet.next()) {
        final Clob sn = resultSet.getClob("CLOB");
        Reader reader = sn.getCharacterStream();
        return reader;
    } else {
        throw new FunctionalException(EUFunctionalErrorMessage.REPORT_NOT_FOUND);
    }
}

我需要关闭读者(根据Fortify)。我无法在创建阅读器的第一种方法中关闭它。一旦我发送给Repsonse.ok,我不知道如何“收回”关闭。在这种情况下,我不能指望客户关闭。

0 个答案:

没有答案