如何在C#中将文件上传到AWS S3时设置UserAgent(AWSSDK.net)

时间:2017-01-10 16:49:52

标签: c# amazon-s3 agent

我想在将文件上传到Amazon S3存储桶时设置UserAgent。在旧版本的AWS sdk中,ClientConfig中有属性,我们可以在其中设置或获取UserAgent。但在最新版本中,它改变了。那么,我如何在我的应用程序中设置此选项。

编程语言:C#

SDK版本:最新(3.3.5.2)

环境:VS-2015和Windows。

1 个答案:

答案 0 :(得分:0)

我们也有类似的要求。我们能够使用反射解决它。请注意,这不是便携式解决方案,如果升级AWS开发工具包库,它可能会中断

        AmazonS3Config config = new AmazonS3Config();
        var bindingFlags = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public;
        var fields= config.GetType().GetFields(bindingFlags);
        var userAgent = fields.Where(x => x.Equals("_userAgent") && x.FieldType == typeof(string)).First();
        if (userAgent != null)
        {
            userAgent.SetValue(config, "my-custom-user-agent");
        }