powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Приложение blazor исключение на хостинге
8 сообщений из 8, страница 1 из 1
Приложение blazor исключение на хостинге
    #40129252
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложение не хочет выполнять определенный метод на хостинге. На локалхосте все работает.
Я постарался показать все на скриншотах. Приложение нормально работает на локалхосте. На сервере тоже все нормально . Я подключаюсь к той же базе данных , удаляю , добавляю данные, сохраняю. Все хорошо , кроме одного метода

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
foreach (var gc in uoList)
{
goods_stocks gs = _db.goods_stocks
.Where(x => x.good_id == gc.good_id)
.FirstOrDefault();
if (gs != null)
{
gs.stock -= gc.qty;
}
}



//Эта операция не работает только на хостинге.
Причем другие подобные операции работают нормально.
Опытным путем выяснил, что не работает именно цикл форич. (фор тоже самое) Нужно в цикле обновить остатки товара исходя из данных заказа.
Прямо не знаю что и думать
...
Рейтинг: 0 / 0
Приложение blazor исключение на хостинге
    #40129306
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jeanssp
Я постарался показать все на скриншотах
Смотри по логам, какая именно ошибка, какой смысл смотреть в вывод консоли браузера, у тебя же серверный blazor
...
Рейтинг: 0 / 0
Приложение blazor исключение на хостинге
    #40129370
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, ХорошоЯ посмотрю . Теперь и на локалхосте перестало работать
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
namespace jeansBlazorAsh.Data
{
    public class PaySuccessService
    {
        private readonly IEmailSender _emailSender;
        private readonly Point4Context _db;
        public PaySuccessService(Point4Context db, IEmailSender emailSender)
        {
            _db = db;
            _emailSender = emailSender;
        }

        public PaySuccessService()
        {
        }

        public PaySuccessService(IEmailSender emailSender)
        {
            
            _emailSender = emailSender;
        }
       
       public async Task UpdateGoodsStock(string orderId)//авторизован
        {
            
                IEnumerable<viewPaySuccessBlaz> ps = _db.viewPaySuccessBlaz//заказы пользователя
                    .Where(x => x.SberInOrderId == orderId);
            foreach (var o in ps)
            {
                int goodid = o.good_id;
                var gs = _db.goods_stocks
                    .Where(x => x.good_id == goodid);
                   
                
            }


            await _db.SaveChangesAsync();
        }
    }

}


Почему то
Код: c#
1.
2.
var gs = _db.goods_stocks
                    .Where(x => x.good_id == goodid); 


здесь выбрасывает ошибку. Пишет что то про то что контекст уже открыт, надо закрыть бла бла бла
...
Рейтинг: 0 / 0
Приложение blazor исключение на хостинге
    #40129382
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jeanssp,
Не могу в цикле обновить три несчастных записи . Я не понимаю
...
Рейтинг: 0 / 0
Приложение blazor исключение на хостинге
    #40129435
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Изменил методы на синхронные. Наконец то исключение.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
public class PaySuccessService
    {
        private readonly IEmailSender _emailSender;
        private readonly Point4Context _db;
        public PaySuccessService(Point4Context db, IEmailSender emailSender)
        {
            _db = db;
            _emailSender = emailSender;
        }

        public PaySuccessService()
        {
        }

        public PaySuccessService(IEmailSender emailSender)
        {
            
            _emailSender = emailSender;
        }
       
       public void UpdateGoodsStock(string orderId)//авторизован
        {
            
                IEnumerable<viewPaySuccessBlaz> ps = _db.viewPaySuccessBlaz//заказы пользователя
                    .Where(x => x.SberInOrderId == orderId);
            
            if (ps!=null)
            {
                    foreach (var o in ps)
                    {

                        int goodid = o.good_id;
                        var gs = _db.goods_stocks
                            .Where(x => x.good_id == goodid)
                            .FirstOrDefault();
                    if (gs!=null)
                    gs.stock -= o.qty;

                    }
            }
            
           

             _db.SaveChanges();
        }
    }

}
...
Рейтинг: 0 / 0
Приложение blazor исключение на хостинге
    #40129439
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в ошибке же написано, что IConnection который ассоциирован с IDataReader, с помощью которого загружаются данные, не открыт.
То есть соединение (SqlConnection) закрыто, а ты пытаешься читать данные.
https://docs.microsoft.com/ru-ru/ef/ef6/fundamentals/connection-management
...
Рейтинг: 0 / 0
Приложение blazor исключение на хостинге
    #40129446
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jeanssp
Пишет что то про то что контекст уже открыт, надо закрыть бла бла бла
вероятно ты неправильно используешь жизненный цикл dbcontext в контексте серверного blazor. Кури https://docs.microsoft.com/ru-ru/aspnet/core/blazor/blazor-server-ef-core?view=aspnetcore-5.0
...
Рейтинг: 0 / 0
Приложение blazor исключение на хостинге
    #40129447
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jeanssp
Изменил методы на синхронные. Наконец то исключение.
у тебя и до этого-то асинхронностью не особо пахло
jeanssp
Код: c#
1.
.FirstOrDefault();

...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Приложение blazor исключение на хостинге
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]