Я хочу получить доступ к своему S3 Bucket в MVC. NET веб-приложении. Поэтому я использую AWS SDK для. NET. Я делаю это с помощью следующего вызова:
var request = new ListObjectsRequest
{
BucketName = bucketName,
MaxKeys = maxEntries,
Delimiter = delimiter,
Prefix = prefix
};
var response = _amazonS3Client.ListObjects(request);
Когда я запускаю этот код в консольном приложении, он работает нормально. Когда я пытаюсь реализовать то же самое для приложения MCV. NET, я сталкиваюсь с этой ошибкой:
"Возникла исключительная ситуация WebException со статусом ConnectFailure."
> bei
> Amazon.Runtime.Internal.WebExceptionHandler.HandleException(IExecutionContext
> executionContext, WebException exception) bei
> Amazon.Runtime.Internal.ExceptionHandler`1.Handle(IExecutionContext
> executionContext, Exception exception) bei
> Amazon.Runtime.Internal.ErrorHandler.ProcessException(IExecutionContext
> executionContext, Exception exception) bei
> Amazon.Runtime.Internal.ErrorHandler.<InvokeAsync>d__5`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
> task) bei
> System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
> task) bei
> Amazon.Runtime.Internal.CallbackHandler.<InvokeAsync>d__9`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
> task) bei
> System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
> task) bei
> Amazon.Runtime.Internal.EndpointDiscoveryHandler.<InvokeAsync>d__2`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() bei
> Amazon.Runtime.Internal.EndpointDiscoveryHandler.<InvokeAsync>d__2`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
> task) bei
> System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
> task) bei
> Amazon.Runtime.Internal.CredentialsRetriever.<InvokeAsync>d__7`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
> task) bei
> System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
> task) bei
> Amazon.Runtime.Internal.RetryHandler.<InvokeAsync>d__10`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> Amazon.Runtime.Internal.RetryHandler.<InvokeAsync>d__10`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
> task) bei
> System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
> task) bei
> Amazon.Runtime.Internal.CallbackHandler.<InvokeAsync>d__9`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
> task) bei
> System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
> task) bei
> Amazon.Runtime.Internal.CallbackHandler.<InvokeAsync>d__9`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
> task) bei
> System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
> task) bei
> Amazon.S3.Internal.AmazonS3ExceptionHandler.<InvokeAsync>d__1`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
> task) bei
> System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
> task) bei
> Amazon.Runtime.Internal.ErrorCallbackHandler.<InvokeAsync>d__5`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
> task) bei
> System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
> task) bei
> Amazon.Runtime.Internal.MetricsHandler.<InvokeAsync>d__1`1.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
> task) bei
> System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
> task) bei
> ContiTeves.AWS.S3.S3GetClient.<ListFoldersAsync>d__8.MoveNext()
> --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei
> System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
> task) bei
> System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
> task) bei System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
> bei
> MyMvcWebTest.Controllers.AwsController.<GetFoldersFromBucket>d__1.MoveNext()
> in
> \MyMvcWebTest\sources\MyMvcWebTest\Controllers\AwsController.cs:Zeile
> 43.
Кажется, что некоторые из них не могут получить доступ к AWS из моего веб-приложения. Конечно, мне нужно что-то настроить в файле Web.config или мне нужно изменить конфигурацию в моем IIS (express).
У кого-нибудь есть решение этой проблемы? Спасибо!