Исключение типа «System.InvalidOperationException» произошло в System.Private.CoreLib.dll.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Исключение типа «System.InvalidOperationException» произошло в System.Private.CoreLib.dll.

Сообщение Anonymous »

Я не понимаю, почему я получаю сообщение об ошибке при попытке добавить товар в корзину в моей базе данных. У меня есть товар, который я хочу добавить в корзину. Если корзина не существует, мы создаем новую корзину и добавляем ее в базу данных. Каждый раз, когда мы добавляем один и тот же продукт, счетчик должен увеличиваться на 1. Он должен заполнить корзину указанным продуктом, но я получаю исключение: CLR/System.InvalidOperationException. В System.Private произошло исключение типа «System.InvalidOperationException». .CoreLib.dll, но не обрабатывался в пользовательском коде: «Недопустимая операция. Соединение закрыто.' сообщение об ошибке. ASP.NET Core MVC 8
ShoppingCartController.cs

private readonly ILogger _logger;
private readonly DBContext _dbContext;
private const string CartSessionKey = "CartId";
private string ShoppingCartId { get; set;}

public ShoppingCartController(ILogger logger, DBContext dBContext)
{
_logger = logger;
_dbContext = dBContext;
}

public async void AddToCart(int id)
{
ShoppingCartId = GetCartID();
// Bottom line code breaks with the InvalidOperationException
Cart cart = await _dbContext.Carts.FirstOrDefaultAsync(c => c.CartId == ShoppingCartId && c.ProductId == id);
if (cart == null)
{
// If cart is null then we create a new cart
Cart newCart = new Cart
{
ProductId = id,
CartId = ShoppingCartId,
Product = await _dbContext.Products.FirstOrDefaultAsync(p => p.ProductId == id),
Count = 1,
CreatedDate = DateTime.Now,
};

await _dbContext.Carts.AddAsync(newCart);
}
else
{
cart.Count++;
}

await _dbContext.SaveChangesAsync();
}

private string GetCartID()
{
if(HttpContext.Session.Keys.Contains(CartSessionKey) == false)
{
if (!string.IsNullOrWhiteSpace(HttpContext.User.Identity.Name))
{
HttpContext.Session.SetString(CartSessionKey,HttpContext.User.Identity.Name);
}
else
{
Guid tempCartId = Guid.NewGuid();
HttpContext.Session.SetString(CartSessionKey, tempCartId.ToString());
}
}

return HttpContext.Session.GetString(CartSessionKey);
}
}


Dashboard.cshtml



@foreach(var prod in @ViewBag.Products)
{

Изображение

@prod.ProductName
More Details
// This is where it would add the product to cart
Add to cart


}






Подробнее здесь: https://stackoverflow.com/questions/790 ... stem-priva
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Исключение типа «System.InvalidOperationException» произошло в System.Private.CoreLib.dll.
    Anonymous » » в форуме C#
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • Исключение типа «System.InvalidOperationException» произошло в System.Private.CoreLib.dll.
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Исключение типа 'System.invalidoperationException' произошло в system.private.corelib.dll
    Anonymous » » в форуме C#
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • «SQLite.SQLiteException» в SQLite-net.dll и «SQLite.SQLiteException» в ошибке System.Private.CoreLib.dll в .net Maui, ко
    Anonymous » » в форуме C#
    0 Ответы
    57 Просмотры
    Последнее сообщение Anonymous
  • «SQLite.SQLiteException» в SQLite-net.dll и «SQLite.SQLiteException» в ошибке System.Private.CoreLib.dll в .net Maui, ко
    Anonymous » » в форуме C#
    0 Ответы
    61 Просмотры
    Последнее сообщение Anonymous

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