Asp.net основной веб-api
Привет, я пытаюсь прочитать потоковые данные и записать их в таблицу в asp.net ядро 2.2 веб-api и работает с ошибками.
public class HomeController : Controller { private readonly DbContext _context; private readonly IConfiguration Configuration; public HomeController(DbContext context, IConfiguration configuration) { _context = context; //_roleManager = roleManager; Configuration = configuration; } [HttpPost] [Route("api/v1/test", Name = "Test")] public Task Post() { try { using (var records = new StreamReader(Request.Body, Encoding.UTF8)) { ImportData(records); return Ok("OK"); //Error: Cannot implicitly convert type 'Microsoft.AspNetCore.Mvc.OkObjectResult' to 'System.Threading.Tasks.Task' } } catch (Exception ex) { return BadRequest(ex.Message); //Error: Cannot implicitly convert type 'Microsoft.AspNetCore.Mvc.BadRequestObjectResult' to 'System.Threading.Tasks.Task' } } public void ImportData(StreamReader records) { string connectionstring = Configuration["ConnectionStrings:dbconnstr"]; List test = new List(); foreach (string record in records) { Test t = new Test(); string[] textpart = record.Split('|'); t.ID = textpart[0]; t.Name = textpart[1]; test.Add(t); } var copyParameters = new[] { nameof(Test.ID), nameof(Test.Name), }; using (var sqlCopy = new SqlBulkCopy(connectionstring)) { sqlCopy.DestinationTableName = "[Test]"; sqlCopy.BatchSize = 500; using (var reader = ObjectReader.Create(test, copyParameters)) { sqlCopy.WriteToServer(reader); } } } }
Что я уже пробовал:
Я попробовал приведенный выше код, который немного отличается от .net 4.6 framework, и попытался заставить его работать.
Mehul M Thakkar
попробуйте с помощью "асинхронной задачи"
Member 12586110
Привет, Мехул м Таккар, большое спасибо за ваш ответ. Попробовал асинхронную задачу и все равно получил ту же ошибку.
ZurdoDev
Чем мы можем вам помочь? Вы не сказали нам, что это за ошибки.
Member 12586110
Привет, Зурдодев, Спасибо за ваш ответ. Я пытаюсь прочитать поток данных с помощью класса StreamReader и записать содержимое в таблицу базы данных как часть метода post. Этот подход используется, чтобы нормально работать в .объем 4.6 рамках. Когда я пишу это, я получаю исключения, когда использую return и не могу импортировать в таблицу. Не могли бы вы пожалуйста помочь или направить меня написать об этом .объем ядра 2.2.
ZurdoDev
Нет, я не могу вам помочь, потому что, как я уже сказал, Вы не сказали нам, в чем заключаются ошибки.
Member 12586110
Привет ZurdoDev, с возвращением Ok("OK"); получите ошибку: не удается неявно преобразовать тип 'Microsoft.AspNetCore.Mvc.OkObjectResult' to 'system.Нарезание резьбы.Задачи.Задач и
return BadRequest(ex.Message); Get Error: не удается неявно преобразовать тип 'Microsoft.AspNetCore.Mvc.BadRequestObjectResult' to 'system.Нарезание резьбы.Задачи.Задача". Спасибо.
ZurdoDev
Теперь это совсем другой вопрос, чем то, что вы говорили раньше.
Если вы хотите вернуть представление, имя которого не совпадает с именем метода, в котором вы находитесь, верните представление(viewName);