小编Paw*_*wel的帖子

ASP.NET core - 如何传递可选的 [FromBody] 参数?

如何在 ASP.NET Core (5.0) 中传递可选(可为空)[FromBody] 参数?如果我不在请求中发送正文,则会收到 415 不支持的媒体类型错误。可以配置吗?如果可以,如何在控制器或操作而不是应用程序级别上进行配置?我认为它必须与模型验证有关,但不确定。谢谢。

[HttpGet("[action]")]
public async Task<IActionResult> GetElementsAsync([FromBody] IEnumerable<int> elements = default)
{
  var result = await dataService.GetData(elements);
  return Ok(result);
}
Run Code Online (Sandbox Code Playgroud)

编辑:澄清一下:

这是典型的场景并且可以正常工作: 这是典型场景并且可以正常工作

但是传递空主体会立即返回 415,甚至没有到达行动: 传空体就是没有到达action就立即返回415

c# controller asp.net-core

15
推荐指数
2
解决办法
2万
查看次数

2022 年 5 月 30 日之后如何通过 Google 使用 MailKit?

到目前为止,我很高兴使用类似于以下的方法连接到我的 Gmail 帐户:

\n
public async Task<IEnumerable<MimeMessage>> GetMessagesAsync()\n{\n    using var imapClient = new MailKit.Net.Imap.ImapClient();\n    var secureSocketOptions = SecureSocketOptions.Auto;\n    if (useSsl) secureSocketOptions = SecureSocketOptions.SslOnConnect;\n    await imapClient.ConnectAsync(host, port, secureSocketOptions);\n\n    await imapClient.AuthenticateAsync(login, password);\n\n    await imapClient.Inbox.OpenAsync(FolderAccess.ReadOnly);\n\n    var uids = await imapClient.Inbox.SearchAsync(SearchQuery.All);\n\n    var messages = new List<MimeMessage>();\n    foreach (var uid in uids)\n        messages.Add(await imapClient.Inbox.GetMessageAsync(uid));\n\n    imapClient.Disconnect(true);\n\n    return messages;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

自 2022 年 5 月 30 日起,这不再可能,因为对“不太安全的应用程序”的支持已被禁用

\n
\n

为了确保您帐户的安全,从 2022 年 5 月 30 日起,\xe2\x80\x8b\xe2\x80\x8bGoogle 不再支持使用要求您仅使用您的帐户登录 Google 帐户的第三方应用或设备。用户名和密码。

\n
\n

现在如何将 Mailkit 与 Gmail …

.net gmail imap mailkit

12
推荐指数
1
解决办法
8251
查看次数

当 Flexbox 内容垂直居中时如何修复滚动?

我想要实现的是,当视口比内容高时,内容应该垂直居中。当视口不够高并且内容溢出时,父级应该提供垂直滚动条。

当我将 Flexbox 内容对齐到中间并将内容设置为滚动时,它不仅会忽略内容边距,还会在顶部截断(假设视口比内容短)。有没有办法来解决这个问题?

html, body {
    height: 100%;
}
body {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    overflow: hidden;
}
.container {
    overflow-y: auto;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
}

.content {
    border: 1px solid grey;
    background-color: lightgrey;
    padding: 10px;
    margin: 10px;
    border-radius: 10px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
    <div class="content">
        Start of the content
        <br />
        <br />
        Middle of the content
        <br />
        <br />
        End of the content
    </div>
</div>
<div class="container">
    <div class="content">
        Start …
Run Code Online (Sandbox Code Playgroud)

css scroll vertical-alignment

1
推荐指数
1
解决办法
1100
查看次数

标签 统计

.net ×1

asp.net-core ×1

c# ×1

controller ×1

css ×1

gmail ×1

imap ×1

mailkit ×1

scroll ×1

vertical-alignment ×1