小编Hay*_*tam的帖子

延迟API动作

我正在为我的软件编写API,它有很多接口,我的软件只是继承了它们.
我希望API用户有可能在X毫秒后做一些事情,如下所示:

public void PerformAction(Action action, int delay)
{
   Task.Run(async delegate
   {
       await Task.Delay(delai);
       Form.BeginInvoke(action);
       // I invoke on the Form because I think its better that the action executes in my main thread, which is the same as my form's thread
   });
}
Run Code Online (Sandbox Code Playgroud)

现在我知道Task就像一个新线程,我只是想知道,这对我的软件有害吗?还有其他可能更好的方法吗?
该方法将被执行很多,所以我不知道这种方法是好还是坏

c# api action delay

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

返回文件结果时出现 HTTP ERROR 500

我现在遇到了一个非常奇怪的问题......我正在尝试从我的 web api 返回一个文件,但即使流正在工作并且代码中没有抛出任何错误,我也收到了 HTTP 错误 500。

var doc = DocX.Load(...);
// ...

var ms = new MemoryStream();
doc.SaveAs(ms);
doc.Dispose();

return File(ms, "application/octet-stream");
Run Code Online (Sandbox Code Playgroud)

流的大小变为 22kb,但是当我导航到 api 的 url 时,我得到一个 HTTP 500,为什么?

谢谢你。

c# asp.net-web-api asp.net-core

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

EF Core - 一个 sql 请求中的多个计数

我试图从表中获取多个计数统计信息,但没有得到我想要的。

代码

var result = _db.Users.Select(g => new
{
    count = _db.Users.Count(),
    acCount = _db.Users.Count(u => u.User.State == AccountState.AwaitingConfirmation)
});
Run Code Online (Sandbox Code Playgroud)

sql请求

SELECT (
    SELECT COUNT(*)
    FROM `users` AS `c`
) AS `count`, (
    SELECT COUNT(*)
    FROM `users` AS `u`
    INNER JOIN `users` AS `u.User` ON `u`.`UserId` = `u.User`.`Id`
    WHERE `u.User`.`State` = 4
) AS `acCount`
FROM `users` AS `g`
Run Code Online (Sandbox Code Playgroud)

预期结果

result = { count = ?, acCount = ? }
Run Code Online (Sandbox Code Playgroud)

实际结果(表中4个用户)

result = [
    { count = ?, acCount = …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core asp.net-core

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

如何从图像/位图对象将图像作为IActionResult返回

我正在使用条形码库+ .Net Core中提供的System.Drawing.Common包来生成条形码图像。

我想将图像以纯图像(或下载)的形式返回给用户在浏览器中,但是我似乎找不到一种很好的方法。

我尝试过的

var barcode = new Barcode().Encode(TYPE.CODE128, reference);
usuing (var outputStream = new MemoryStream()) 
{
    barcode.Save(outputStream, ImageFormat.Jpeg);
    outputStream.Seek(0, SeekOrigin.Begin);
    return File(outputStream, "image/jpeg");
}
Run Code Online (Sandbox Code Playgroud)

这提供了一个例外,说该流已关闭。

可以通过删除使用来修复它,这还不错吗?流不留在内存中吗?

c# image asp.net-core

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

UseExceptionHandler与UseStatusCodePagesWithRedirects

我一直在阅读ASP.NET Core中的错误处理,我遇到了以下两种方式:

  • UseExceptionHandler("/error")
  • UseStatusCodePagesWithRedirects("/error/{0}");

我想知道两者之间有什么区别?两者都重定向到错误页面,为什么要使用另一个?我甚至看到有些人同时使用它们.

c# asp.net-core

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

弹出前N个元素

我现在正在寻找大约一个小时如何弹出多个元素,此时我认为一个单行不存在,但我想确定.

我想要的是:

list = [1, 2, 3, 4]
eles = list.pop(2)
# list becomes [3, 4]
# eles = [1, 2]
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

如何在div中水平居中绝对按钮?

我试图将一个绝对按钮放在一个 div(在底部)中,但它似乎不起作用..这是我现在正在做的事情:

.mc-item {
  background: #F0F0F0;
  border: 1px solid #DDD;
  height: 140px;
  padding: 20px;
}

.mc-item a {
  position: absolute;
  bottom: -19px;
  left: 50%;
}

.mc-item p {
  text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<div class="col-md-4 col-sm-12">
  <div class="mc-item">
    <p>Changez votre adresse email ou votre mot de passe.</p>
    <a asp-controller="MyAccount" asp-action="Settings" class="btn btn-primary">Paramètres</a>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这给出了以下结果:

在此处输入图片说明

我想要的是中间居中的按钮。是否left: 50%考虑整体.col div?我尝试将buttona包裹起来,div并且div的宽度变为 380,这与.col div(div<p>) 相同。

html css twitter-bootstrap bootstrap-4

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