Asp.net mvc MVC控制器仅使用ChildActionOnly获取图像

Asp.net mvc MVC控制器仅使用ChildActionOnly获取图像,asp.net-mvc,razor,asp.net-mvc-routing,Asp.net Mvc,Razor,Asp.net Mvc Routing,我想显示存储在数据库中的购物车项目的图像。通过跟随,我得到了我想要的90% “我的视图”的图像如下所示: <img alt="@item.Name" src="@Url.Action("Get_Cart_Item_Image", "Cart", new { sku_code = item.Summary })"> public ActionResult Get_Cart_Item_Image(string sku_code) { using(var

我想显示存储在数据库中的购物车项目的图像。通过跟随,我得到了我想要的90%

“我的视图”的图像如下所示:

<img alt="@item.Name" src="@Url.Action("Get_Cart_Item_Image", "Cart", new { sku_code = item.Summary })">
    public ActionResult Get_Cart_Item_Image(string sku_code)
    {
        using(var stream = new MemoryStream()) {            
            GetSKU(sku_code).Image.Save(stream, ImageFormat.Png);
            return File(stream.ToArray(), "image/png");
        }
    }
这正是我想要的。它从数据库中获取正确的图像,并在我的视图中正确显示

问题是,我注意到控制器方法是可浏览的,因此用户可能会意外地转到url Cart/Get\u Cart\u Item\u Image?sku\u code=SomethingValid,然后看到一个只有图像的页面

据我所知,将[ChildActionOnly]添加到此控制器操作应使其不受保护,但这样做也会使图像不显示在视图中,而显示缺少的图像图标

所以我的问题是,我需要做什么才能让我的视图获取数据库中的图像,而不让用户浏览控制器方法?这可能吗?我正在做的是最佳实践吗