asp.net - 仅在部署 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;
}
解决方案
虽然我在您的代码中看不到任何明显的问题,但实际上您可以通过 Visual Studio 在 Azure WebApp 上远程调试您的应用程序。
有 3 个官方博客介绍了如何在 Azure WebApp 上进行远程调试。
您只需按照下图Debugging
在 Azure 门户上启用您的应用服务的功能,然后您可以按照上面的博客进行操作。
希望能帮助到你。
推荐阅读
- python - 行为:如何在非玩具项目中组织此框架的文件
- javascript - Javascript获取解析的json字符串的类
- kaizala - Kaizala 存储对话
- angular - Angular:ExpressionChangedAfterItHasBeenCheckedError,当从后端服务器检索数据而没有更新视图时
- scala - 找不到隐式参数的值(可扩展记录)
- css - 如何将元素的背景剪辑到其内容框?
- php - 在 View Yii 2 中显示相关数据
- python - 比较列和行上的两个熊猫数据框
- python - 如何确定我是否在夏令时?
- vba - 访问中的 Vba。过滤查询