Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
Всем привет! Есть две задачи: 1) в сессии хранить объект пользователь, чтобы за его свойствами не делать запросы в БД. (Пользователей на сайте довольно много); 2) посредством базового контроллера отлавливать ошибки всех контроллеров Имеется asp mvc 5 VS 2015 Что делаю: Базовый контроллер: Код: 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. В Global.asax ловлю ошибки все: Код: 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. Далее любой контроллер, например: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. CurrentUser - NULL. Ставлю точку останова в базовом контролере, но туда не заходит процесс и естественно CurrentUser не инициализирован.... Что я упустил? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 06:35 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
1) Код: c# 1. я тогда не пойму где тогда set-ишь. если не зараген то вернуть null, а как тогда зарегаться и прокинуть в сессию? 2) сессия зло - кеш лучше , ты итак уже юзаешь iprincipal и чего его не расширил просто + кеш раз боишься что там бд помрет, хотя все ти преждевременные оптимизации такое зло. 3) отлов ошибок зачем так то какой профит? в глобале просто пришло - залогировал и не важно откуда + еще фильтр на ошибки что в глобал не попало и все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 11:19 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, спасибо за отклик. !Request.IsAuthenticated - это же если не авторизирован... первые две проверки прошли и если в сессии инфы нет, то сетим... ты итак уже юзаешь iprincipal и чего его не расширил просто --- не знал, сейчас погуглю и сюда просто пришло - залогировал и не важно откуда + еще фильтр на ошибки что в глобал не попало и все --- понял, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 11:35 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
логика самого BaseController верна, я не могу понять почему я в него не захожу, я же наследовался от него ( public class EventsController : BaseController) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 11:36 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
Sputnickлогика самого BaseController верна, я не могу понять почему я в него не захожу, я же наследовался от него ( public class EventsController : BaseController) У Вас есть BaseController со свойством CurrentUser, но я что-то не вижу где вы используете setter для него в наследнике, потому и не будет заходить. Приведенный код неполный? Добавьте конструктор без параметров для BaseController и поставьте точку останова, чтобы убедиться, что BaseController вызывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 12:40 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
Axeleron, все, разобрался наконец то... тут я обращаюсь к публичному свойству базового контроллера ViewBag.EventsMain = UM.UserStream(CurrentUser.Id, 20); CurrentUser - обращение. Ну и в базовом контроллере если нет в сессии устанавливаю: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. я этот код выпилил с проекта с simpleMemberShip а в новом проекте используется новая авторизация, с этим накладка была. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 14:30 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, 2) сессия зло ---- а можешь пж по пункта... почему? На старом проекте используется.... все норм... несколько раз было что юзеров выбивало с админки.... но так и не знаю сессия виновна или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 14:31 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
Sputnick, но это было обращение к getter'у, но не setter'у. Кода для последнего у Вас я не увидел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 14:32 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
тем более в кеш у меня есть что помещать... и он не резиновый ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 14:33 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
Sputnick, и сессия и кэш необходимо использовать исходя из конкретной задачи. Сессия тоже полезна, когда нужно хранить что-то ровно в течении жизни сессии в браузере, однако не нужно пихать тюда все что попало, т.е. разумное использование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 14:35 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
AxeleronSputnick, но это было обращение к getter'у, но не setter'у. Кода для последнего у Вас я не увидел. выходит он благополучно инициируется в геттере... в сеттере эта строка - _currentUser = value; - для меня загадка.... , что за value ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 14:35 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
SputnickAxeleronSputnick, но это было обращение к getter'у, но не setter'у. Кода для последнего у Вас я не увидел. выходит он благополучно инициируется в геттере... в сеттере эта строка - _currentUser = value; - для меня загадка.... , что за value value - то что передается в типе CurrentUser. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 15:48 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
Sputnickа можешь пж по пункта... почему? На старом проекте используется.... все норм... несколько раз было что юзеров выбивало с админки.... но так и не знаю сессия виновна или нет. ну если коротко то stateless, а так ты сам мож погуглить почему такие мысли возникают. Выбивало потому что у тебя сессия сбрасывалось, а причину этого ну разные могут быть. Sputnickтем более в кеш у меня есть что помещать... и он не резиновый ) а у тебя что кеш лежит отдельно от аппликейшена? если нет то о чем разговор. и там так мало памяти? тогда зачем кешировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 16:03 |
|
||
|
Почему не работает Base Controller?
|
|||
|---|---|---|---|
|
#18+
SputnickAxeleronSputnick, но это было обращение к getter'у, но не setter'у. Кода для последнего у Вас я не увидел. выходит он благополучно инициируется в геттере... в сеттере эта строка - _currentUser = value; - для меня загадка.... , что за value А для меня загадка, как можно с отсутствием знания базовых понятий языка что то пытаться делать на нем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 17:52 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=39244080&tid=1355871]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 322ms |

| 0 / 0 |
