2009-10-28 1 views
0

Пробежал через это недавно и задавался вопросом, может ли кто-то там дать мне хорошее объяснение. Я делал некоторый рефакторинг и создал контекст пружины, чтобы захватить настроенный сервис из внедренного файла конфигурации следующим образом:Создание экземпляра Spring.Net внутри статического метода вызывает утечку памяти

var myService = new XmlApplicationContext("assembly://MyAssembly/MyNamespace/MyService.config").GetObject( "myService") as MyService;

Обычно это, кажется, работает нормально, но в этом случае, так как он был внутри статического метод вызвал утечку памяти, и я хочу понять, почему я так избегаю этого в будущем. В первую очередь метод не должен был статичным, но это еще одна проблема. Обычно я не делаю этого и накладываю свои услуги непосредственно на страницу ASP.Net через web.config, но в этом случае это было бы целесообразно, поэтому не беспокойтесь, рассказывая мне, что я все делаю неправильно, я знаю.; -)

Max

ответ

0

Если у вас есть статический метод и вы держите экземпляр MYSERVICE ручку, он будет совместно с одноплодной картой Spring.NET и вас пока у вас есть ссылка контекст приложения будет также. Хотя это не полностью объясняет ситуацию, если память постоянно растет, если вы не сохраните каждый созданный объект в своем статическом классе ...

 Смежные вопросы

  • Нет связанных вопросов^_^