при нажатии на кнопку "Добавить в корзину" запускается скрипт:
$('#AddCart').on('click', function (event) {
var productId = $('#userInput').val();
var quantityInProduct = $('input[name="quantityInProduct"][data-id="' + productId + '"]').val();
connection.invoke("QuantityOfCart", productId, quantityInProduct).catch(function (err) {
return console.error(err.toString());
});
});
скрипт запускает метод в Hub.cs
public async Task QuantityOfCart(int productId, int quantityInProduct)
{
Product product = repositoryProduct.Products.FirstOrDefault(p => p.ProductID == productId);
if (product != null){cart.AddItem(product, quantityInProduct);}
int quantityOfCart = cart.Lines.Count();
await Clients.All.SendAsync("SendQuantityOfCart", quantityOfCart);}
и на строке "cart.AddItem(product, quantityInProduct);" вылетает исключение:
System.InvalidOperationException: "The session cannot be established after the response has started."
вот код где выдает ошибку
public static void SetJson(this ISession session, string key, object value)
{
session.SetString(key, JsonConvert.SerializeObject(value));
}
я так понимаю проблема в том что SetJson был запущен через invoke, но как это исправить ума не приложу.