Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как корректно диспозе сделать
|
|||
|---|---|---|---|
|
#18+
использую EF / есть метод в репозитории, который возвращает: aaaEntities db = new aaaEntities(); return db.Messages.OrderBy(x=>x.idMessage).Skip((_nPage - 1) * _nPageSize).Take(_nPageSize).AsEnumerable(); как и где корректно сделать диспоузе DBcontextу? если делать using () {} здесь же, то получаю сообщение: Невозможно завершить операцию, поскольку класс DbContext был удален. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2013, 00:21 |
|
||
|
как корректно диспозе сделать
|
|||
|---|---|---|---|
|
#18+
fokin_fgdfd, вариантов несколько перекройте protected virtual void Dispose(bool disposing) у контроллера.. зы он для этого и виртуальный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2013, 01:03 |
|
||
|
как корректно диспозе сделать
|
|||
|---|---|---|---|
|
#18+
Где-то в степиfokin_fgdfd, вариантов несколько перекройте protected virtual void Dispose(bool disposing) у контроллера.. зы он для этого и виртуальный и где вызывать этот диспоуз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2013, 01:07 |
|
||
|
как корректно диспозе сделать
|
|||
|---|---|---|---|
|
#18+
saaaaaaa, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2013, 01:15 |
|
||
|
как корректно диспозе сделать
|
|||
|---|---|---|---|
|
#18+
Где-то в степиsaaaaaaa, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Не. Где диспозе контекста вызывать это я понимаю. Я спрашивал про диспозе контроллера.. Но он походу вызывается.. Явно вызывать не надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2013, 01:24 |
|
||
|
как корректно диспозе сделать
|
|||
|---|---|---|---|
|
#18+
fokin_fgdfd, ну дык встань отладчиком и посмотри(........ждаукжщпдша цухацу) если bool disposing= true, значит за тебя его кто то вызвал, али как еще думаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2013, 01:29 |
|
||
|
как корректно диспозе сделать
|
|||
|---|---|---|---|
|
#18+
А какие еще способы есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2013, 12:39 |
|
||
|
как корректно диспозе сделать
|
|||
|---|---|---|---|
|
#18+
gfgffffgfgfgА какие еще способы есть? http://stackoverflow.com/questions/4675753/using-autofac-in-a-multi-layered-architecture грубо говоря, вы больше не делаете никаких Dispose и по большему счёту совершенно не заботитесь об этом. using для слабаков и неудачников! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2013, 15:48 |
|
||
|
как корректно диспозе сделать
|
|||
|---|---|---|---|
|
#18+
МСУ,All, вот что получилось: получить слой доступа к данным в виде синглтона для одного запроса, что бы можно было оперировать этим слоем отвязанно из любых мест, хотя что проще суй в кеш контекста и вызывай откуда хочешь.. это просто эссе что имеем.. интерфейс, который реализуем явно, что убивать что то. Код: c# 1. 2. 3. 4. сам слой, он как бы не выражен явно, тут каждый может лепить что хочет Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. расширение, для получения экземпляра слоя Код: c# 1. 2. 3. 4. 5. 6. 7. 8. Механизм для получения экземпляра слоя запроса, и его ликвидации, ( выбрал словарь) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ну и удаление слоя в конце запроса. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. ну и пример доступа к нему Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2013, 11:59 |
|
||
|
как корректно диспозе сделать
|
|||
|---|---|---|---|
|
#18+
fokin_fgdfdaaaEntities db = new aaaEntities(); return db.Messages.OrderBy(x=>x.idMessage).Skip((_nPage - 1) * _nPageSize).Take(_nPageSize).AsEnumerable(); Вот из-за ".AsEnumerable()" и все твои проблемы. В идеале, контроллер (или что там у тебя) должен отдавать представлению полностью инициализированную View-модель. В противном же случае начинаются различные "Select N+1", длинные транзакции и прочее непотребство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2013, 12:26 |
|
||
|
как корректно диспозе сделать
|
|||
|---|---|---|---|
|
#18+
Нахлобучfokin_fgdfdaaaEntities db = new aaaEntities(); return db.Messages.OrderBy(x=>x.idMessage).Skip((_nPage - 1) * _nPageSize).Take(_nPageSize).AsEnumerable(); Вот из-за ".AsEnumerable()" и все твои проблемы. В идеале, контроллер (или что там у тебя) должен отдавать представлению полностью инициализированную View-модель. В противном же случае начинаются различные "Select N+1", длинные транзакции и прочее непотребство. не контроллер. Репозиторий. По идее репозиторий толжен возвращать что-то типа IEnumerable... А как сделать правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2013, 19:56 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38425432&tid=1358031]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 389ms |

| 0 / 0 |
