首页 > 解决方案 > 仅在部署 Web 应用程序时引发错误

问题描述

我的 ASP.NET Web 应用程序获取图像文件并将其作为 BLOB 上传到 Azure 存储。在调试和发布模式下本地运行时,它工作正常。当应用程序通过其 Azure Web 应用程序部署时,会出现此问题。不幸的是,因为我无法获得堆栈跟踪,所以我无法弄清楚导致问题的原因,但我唯一能想到的是 Azure 存储出于安全原因阻止它,但它设置为允许来自 Azure 服务的调用,所以我认为它会允许它。

这是该站点调用以上传图像的函数。这是从动作中调用的唯一函数,因此它必须在此处抛出异常。

public async Task<bool> UploadFile(IFormFile file, string fileName, Vendor vendor)
    {
        string storageConnectionString = _config.GetConnectionString("Storage");
        CloudStorageAccount storage = CloudStorageAccount.Parse(storageConnectionString);
        CloudBlobClient blobClient = storage.CreateCloudBlobClient();
        string nameFormatted = vendor.Name.Replace(" ", "").ToLower();
        var container = blobClient.GetContainerReference(nameFormatted);
        await container.CreateIfNotExistsAsync();
        using (var stream = file.OpenReadStream())
        {
            var blobRef = container.GetBlockBlobReference(fileName);
            await blobRef.UploadFromStreamAsync(stream);
        }
        return true;
    }

这是部署时引发的错误。 错误

标签: asp.netazureazure-web-app-serviceazure-blob-storage

解决方案


虽然我在您的代码中看不到任何明显的问题,但实际上您可以通过 Visual Studio 在 Azure WebApp 上远程调试您的应用程序。

有 3 个官方博客介绍了如何在 Azure WebApp 上进行远程调试。

  1. Azure 网站远程调试简介
  2. 远程调试 Azure 应用服务 Web 应用
  3. 使用 Visual Studio 对 Azure 应用服务中的应用进行故障排除

您只需按照下图Debugging在 Azure 门户上启用您的应用服务的功能,然后您可以按照上面的博客进行操作。

在此处输入图像描述

希望能帮助到你。


推荐阅读