Как реализовать внедрение зависимостей с помощью базовой структуры ядра asp.net в проекте WebApi - PullRequest
0 голосов
/ 06 января 2019

Я реализовал внедрение зависимостей с помощью шаблонной структуры ядра asp.net в проекте веб-приложения, но когда я хочу реализовать внедрение зависимостей с помощью этого шаблонного примера в проекте ядра * asp.net WebApi , при вызове моего веб-модуля в программе. CS, я получил эту ошибку:

Не удалось загрузить тип 'System.Web.HttpPostedFileBase' из сборки 'System.Web, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a».

public static void Main(string[] args)
 {
  // this line return error
  AbpBootstrapper.Create<WebApiModule>().Initialize();
  //
  CreateWebHostBuilder(args).Build().Run();
 }

Не могли бы вы дать мне несколько примеров о том, как реализовать внедрение зависимостей с помощью базовой структуры ядра asp.net в проекте WebApi.

Ответы [ 3 ]

0 голосов
/ 06 января 2019

.net ядро ​​не запускает конвейер sys.web. Следовательно, вы не сможете использовать этот API в ядре .net.

Вы можете использовать IFormFiles для загрузки файла.

[HttpPost("UploadFiles")]
public async Task<IActionResult> Post(List<IFormFile> files)
{
long size = files.Sum(f => f.Length);

// full path to file in temp location
var filePath = Path.GetTempFileName();

foreach (var formFile in files)
{
    if (formFile.Length > 0)
    {
        using (var stream = new FileStream(filePath, FileMode.Create))
        {
            await formFile.CopyToAsync(stream);
        }
    }
}

// process uploaded files
// Don't rely on or trust the FileName property without validation.

return Ok(new { count = files.Count, size, filePath});
}

Подробнее см. По этой ссылке -

https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-2.2

0 голосов
/ 03 марта 2019

Я обнаружил проблему, мой webApiModule зависит от AbpWebApiModule , и он не поддерживается в .NET Core

0 голосов
/ 06 января 2019

System.Web.HttpPostedFileBase существует в .NET Full Framework (не .NET CORE)!

если ваш проект .NET CORE, проверьте, есть ли у вас ссылка на полный пакет фреймворка.

...