IformFile добавляет уровень сервиса .net 8 mvcC#

Место общения программистов C#
Anonymous
IformFile добавляет уровень сервиса .net 8 mvc

Сообщение Anonymous »

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

 public class FromService : IFromService
{
private readonly IWebHostEnvironment _env;

public FromService(IWebHostEnvironment env)
{
_env = env;
}

public void Delete(string path)
{
if (File.Exists(path))
{
File.Delete(path);
}
}

public string GeneratePath(string folder, string fileName)
{
return Path.Combine(_env.WebRootPath, folder, fileName);
}

public string GenerateUniqueFileName(string fileName)
{
return Guid.NewGuid() + "_" + fileName;
}

public async Task UploadAsync(IFormFile file, string path)
{
using FileStream stream = new FileStream(path, FileMode.Create);
await file.CopyToAsync(stream);
}
В чем моя проблема
Проблема вызвана неправильным именем и настройкой службы. Класс называется FromService, что кажется опечаткой и должно быть FileService. Из-за этого несоответствия реализованное имя интерфейса не соответствует предполагаемой ответственности за обработку файлов, что приводит к ошибкам внедрения зависимостей. Кроме того, логика загрузки не гарантирует существование целевого каталога до создания файла, что может вызвать исключения во время выполнения. Наконец, служба может быть неправильно зарегистрирована в контейнере DI, в результате чего служба не будет разрешена во время выполнения.

Подробнее здесь: https://stackoverflow.com/questions/798 ... vice-layer

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