C# 如何将文件上载到blob容器?

C# 如何将文件上载到blob容器?,c#,azure,azure-storage-blobs,C#,Azure,Azure Storage Blobs,我正在努力学习如何使用BLOB。有了这段代码,我想上传我的文本文件。我没有错误。所有可能的情况是在容器中找不到该文件。我以前也读过类似的问题,但没有人使用这种方法 我错过了什么 using Azure.Storage.Blobs; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Upload

我正在努力学习如何使用BLOB。有了这段代码,我想上传我的文本文件。我没有错误。所有可能的情况是在容器中找不到该文件。我以前也读过类似的问题,但没有人使用这种方法

我错过了什么

using Azure.Storage.Blobs;
using System.IO;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Upload_it_Async();
        }

        private static async void Upload_it_Async()
        {

        var filepath = @"C:\my_file.txt";
        var connectionString = ***********;
        var containerName = "my_container";

        BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
        var container = blobServiceClient.GetBlobContainerClient(containerName);
        var blockBlob = container.GetBlobClient("my_file.txt");
        using (FileStream fs = File.Open(filepath, FileMode.Open))
        {
            await blockBlob.UploadAsync(fs);
        }
    }
}
}

看起来您需要等待该任务完成:

static void Main(string[] args)
{
    Upload_it_Async().Wait();
}

//Change the method to Task, not void:
private static async Task Upload_it_Async()
...
有关控制台应用程序中异步使用的更多讨论,请参阅


如注释中所述,这样做将确保在
Main
方法中抛出任何异常。

建议使用下面的代码片段

static async Task Main(string[] args)
{
  await Upload_it_Async();
}

private static async Task Upload_it_Async()
这里有两个很好的Azure StorageBlob示例,您可以参考。如果您对Azure存储有任何疑问,请随时告诉我

“我没有收到错误。”您可能会收到,但您无法“看到”它们。使用
async Task
而不是
async void
并尝试以下操作:
Upload\u it\u async().GetAwaiter().GetResult()作为开始。那么你应该得到例外。