|
using и DataContext
|
|||
---|---|---|---|
#18+
Использую в своём веб-приложении LINQ. Создаю экземпляр DataContext для каждого метода свой (если требуется). Нужно ли вызывать для него Dispose() или заключать в конструкцию using? И может ли быть утечка памяти из-за того, что я никак не закрываю эти контексты? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2011, 00:20 |
|
using и DataContext
|
|||
---|---|---|---|
#18+
nordmineИспользую в своём веб-приложении LINQ. Создаю экземпляр DataContext для каждого метода свой (если требуется). Нужно ли вызывать для него Dispose() или заключать в конструкцию using? И может ли быть утечка памяти из-за того, что я никак не закрываю эти контексты? К контексту может быть привязано огромное количество ресурсов: соединения с сервером, транзакции, кэшированные записи и т.п. Если ты явно не закрываешь контекст, то при большой нагрузке может внезапно кончиться память. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2011, 01:23 |
|
using и DataContext
|
|||
---|---|---|---|
#18+
Очевидно, на сервере, где хостится мой сайт, так и получилось. Периодически в логе фиксируются события Application_Start, Application_End, Session_Start, Session_End. Хотя пользователей там ещё нет) Правда, я разместил сайт на shared-сервере, а не на выделенном. Я решил проанализировать код. В результате обнаружил около 40 конструкций вида var context = new MyDataContext(); Я решил каждую из них поместить в using. После этого на сервере ровным счётом ничего не изменилось. События так и продолжают фиксироваться. Хотя сам сайт с точки зрения пользователя вроде работает, ничего не виснет. Что вы можете посоветовать мне в такой ситуации? Можно ли утверждать, что дело не в DataContext? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2011, 17:04 |
|
using и DataContext
|
|||
---|---|---|---|
#18+
Правило простое - диспоузить нужно всё, что реализует IDisposable. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2011, 19:28 |
|
|
start [/forum/topic.php?fid=17&fpage=42&tid=1350665]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 330ms |
total: | 461ms |
0 / 0 |