Как установить разрешения для определенной папки с помощью Elastic Beanstalk с помощью приложения C# ASP.NET Core?C#

Место общения программистов C#
Ответить
Anonymous
 Как установить разрешения для определенной папки с помощью Elastic Beanstalk с помощью приложения C# ASP.NET Core?

Сообщение Anonymous »

Я новичок в ASP.NET Core и создаю приложение. Одна из функций, которая работает локально, — это загрузка файла и сохранение его в созданной мной папке wwwroot/uploads.

У меня нет проблем с сохранением этого файла и последующим доступом к нему или его локальной загрузкой. Как только я начал развертывать свое приложение с помощью Elastic Beanstalk, при попытке загрузить файл я постоянно получаю следующую ошибку:

"UnauthorizedAccessException: Доступ к пути 'C:\ inetpub\AspNetCoreWebApps\AppName\wwwroot\uploads\filename.txt' отклонен."

Поиск этой проблемы в Google заставил меня добавить Папка .ebextensions для размещения файлов конфигурации, добавления разрешений на запись и добавления этой папки в мой исходный пакет. Насколько я понимаю, его нужно было настроить следующим образом:

Код: Выделить всё

source bundle zip:
-deployment manifest
-source code folder:
-all dlls
-wwwroot folder
-.ebextensions folder added here
На этом этапе я попытался создать файл конфигурации JSON, но все равно получил ту же ошибку. Я попытался создать файл конфигурации YAML, но все равно получил ту же ошибку.

Файл YAML:

Код: Выделить всё

container_commands:
01-changeperm:
command: icacls "C:/inetpub/AspNetCoreWebApps/AppName/wwwroot" /grant DefaultAppPool:(OI)(CI)F /T
Файл JSON:

Код: Выделить всё

{
"container_commands": {
"01": {
"command": "icacls "C:/inetpub/AspNetCoreWebApps/AppName/wwwroot" /grant DefaultAppPool:(OI)(CI)F /T"
}
}
}
Если кому-то интересно узнать, что происходит в стеке, когда он ломается:

UnauthorizedAccessException: доступ к пути 'C: \inetpub\AspNetCoreWebApps\AppName\wwwroot\uploads\filename.txt' отклонено.

System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle)

System.IO.FileStream.CreateFileOpenHandle (режим FileMode, общий доступ к FileShare, параметры FileOptions)

System.IO.FileStream..ctor(строковый путь, режим FileMode, доступ к FileAccess, Общий ресурс FileShare, intufferSize, параметры FileOptions)

AppName.Utilities.FileHelper.WriteFileToFolder(IFormFile formFile, строка filePath) в FileHelper.cs
AppName.Controllers. HomeController.Create(модель FileUpload) в HomeController.cs

-

Как узнать, запускаются ли мои файлы конфигурации? Я не вижу, чтобы они запускались как события в EBS, а это единственное известное мне место, где их можно найти.

Альтернативно, сами файлы конфигурации настроены неправильно?

Наконец, есть ли у кого-нибудь совет, в чем еще может быть проблема? Я новичок в ASP.NET Core и EBS, поэтому буду рад всем отзывам.

Подробнее здесь: https://stackoverflow.com/questions/565 ... -using-a-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»