@Alarih1

При использовании signalR выдает ошибку System.InvalidOperationException: «The session cannot be established after the response has started.»?

при нажатии на кнопку "Добавить в корзину" запускается скрипт:
$('#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, но как это исправить ума не приложу.
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы