我有一個控制器如何從與ASP MVC 4異步控制器的EntityFramework 6數據的基礎數據異步從數據庫
public async Task<ActionResult> ImageAsync(int id)
{
var img = await _repository.GetImageAsync(id);
if (img != null)
{
return File(img, "image/jpg"); //View(img);
}
byte[] res = new byte[0];
return File(res, "image/jpg");
}
和方法庫
public async Task<byte[]> GetImage(int imageId)
{
try
{
var dbCtx = new smartbags_storeEntities();
var res = await dbCtx.GoodImages.SingleAsync(d => d.ImageId == imageId);
return res != null ? res.ImageData : null;
}
catch (Exception ex)
{
throw ex;
}
}
public async Task<byte[]> GetImageAsync(int imageId)
{
byte[] img = await Task.Run(() =>
{
var res = GetImage(imageId).Result;
if (res != null)
{
var wi = new System.Web.Helpers.WebImage(res);
wi.AddTextWatermark("info");
return wi.GetBytes();
}
return null;
});
return img;
}
但圖像讀取執行讀在線凍結
var res = await dbCtx.GoodImages.SingleAsync(d => d.ImageId == imageId);
當我試圖從da讀取數據時,我所做的是錯誤的方式ta基地在異步風格?
有趣的是,這個問題多次出現在人們面前。至少每週10個問題。 – usr