长话短说,无论我尝试什么,VeraCode 都会继续将我的 8 行代码标记为 CWE 918 的缺陷。这是旧代码,所以我不确定为什么它会突然被标记。
这是一个示例 [offending] 方法,带有粗体标记的行
public virtual async Task<HttpResponseMessage> Put(string controller = "", Dictionary<string, object> parameters = null, object body = null)
{
if (string.IsNullOrWhiteSpace(ApiBaseUrl)) return null;
HttpResponseMessage response = null;
using (var client = GetHttpClient())
{
client.BaseAddress = new Uri(ApiBaseUrl);
if (!string.IsNullOrEmpty(Token)) client.DefaultRequestHeaders.Add("Token-Key", Token);
if (!string.IsNullOrEmpty(DeviceId)) client.DefaultRequestHeaders.Add("DeviceId", DeviceId);
var url = GenerateUrl(controller, parameters);
var requestBody = GeneratedHttpContent(body);
if (requestBody == null) requestBody = new StringContent("");
**response = await client.PutAsync(url, requestBody);**
await LogError(response);
return response; …Run Code Online (Sandbox Code Playgroud) 我有一个使用 AE.Net.Mail IMAP 客户端和 G 邮件的 Windows 服务。该服务每 x 分钟运行一次,检索收件箱消息,应用一些业务逻辑,并将它们标记为已删除。这一切都有效。
但是,Gmail 将它们保留在收件箱中,以便后续调用再次获取它们。我可以通过查看“已查看”或“已删除”标志来跳过它们,但我宁愿根本不获取它们。除非有人经常进入并清理收件箱,否则获取的数据将会呈指数级增长。
我尝试过 Gmail 删除选项,但似乎没有任何效果。