我正在尝试满足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,我不知道如何“收回”关闭。在这种情况下,我不能指望客户关闭。