tpo*_*eux 6 c# asp.net iis amazon-s3 amazon-web-services
我在SDK Store中访问AWS凭据时遇到了一些问题,但在IIS下运行时似乎只是一个问题.如果我通过使用ReSharper调用NUnit测试来执行相同的代码,则依赖项注入将起作用,并且S3客户端可以进行身份验证.
IAmazonS3 s3Client = new AmazonS3Client();
Run Code Online (Sandbox Code Playgroud)
有没有其他人遇到这个问题?你是如何让依赖注入工作的?
[编辑]
建议将凭证文件方法与IIS一起使用,因为SDK Store会以不同方式为每个用户加密凭据.如果我在appSettings中硬编码我不想做的路径,我只能获得一个凭证文件.
除了下面的路径,SDK会在哪里查找凭证文件?
C:\Users\<IIS_app_name>\.aws\credentials
C:\Users\<my_domain_user>\.aws\credentials
Run Code Online (Sandbox Code Playgroud)
在Pavel的回答下回答了这个问题,但我会发布一个答案,让信息更容易消费.您可以在webLocal.config中指定凭证文件位置(如果没有它,我无法使其工作).部署应用程序时,凭据文件位置将是无效路径,SDK将故障转移为使用EC2实例的IAM角色.
webLocal.config
<?xml version="1.0"?>
<appSettings>
<!-- AWS -->
<add key="AWSProfilesLocation" value="C:\Users\<IIS_app_name>\.aws\credentials" />
<add key="AWSRegion" value="us-west-2" />
<add key="S3Bucket" value="bucket." />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
当您实例化没有参数的客户端时,依赖注入将起作用.
IAmazonS3 s3Client = new AmazonS3Client();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7495 次 |
最近记录: |