C #은 목록 지우기 이벤트 처리기에서 개체를 제거합니다.

재니스 얀센

클라이언트 연결을 허용하는 SignalR이 포함 된 .NET Core 백엔드가 있습니다. 모든 연결에서 소위 "스케줄러"가 생성되고 사전에 저장됩니다. 연결이 닫히면이 스케줄러 개체가 목록에서 제거됩니다.

이제 이러한 스케줄러 개체에 대해 다음과 같은 개체 속성에 대한 CollectionChanged 처리기를 설정했습니다.

...
scheduler.Grades.CollectionChanged += (s, e) => this.GradesListener(s, e, connectionId);
scheduler.Raws.CollectionChanged += (s, e) => this.MaterialsListener(s, e, connectionId);
scheduler.Heats.CollectionChanged += (s, e) => this.HeatsListener(s, e, connectionId);
...

응용 프로그램에 메모리 누수가 있기 때문에 내 질문은 다음과 같습니다. 사전에서 스케줄러를 제거하면 (과 함께 수행 Dictionary.Remove(key)) 이벤트 리스너도 제거됩니까? 속성 (Grades, Raws, Heats ...)도 삭제 될 것이기 때문에 그렇게 생각할 것입니다. 그렇죠?

핸들러가 자동으로 제거되지 않으면 어떻게 "등록 취소"합니까?

더 많은 코드를 제공해야하는지 알려주세요.

이전에 이런 질문을했다면 미안하지만 답을 찾을 수 없었습니다.

이 갈벨

맞습니다. Grades, Raws 및 Heats에서 항목을 제거하면 GC가 메모리를 잘 정리합니다.

문제는 제거 할 때까지 this인스턴스를 정리할 수 없다는 것입니다.

여기에서 메모리 누수를 방지하는 방법에 대한 자세한 정보를 찾을 수 있습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬은 다른 목록을 기반으로 목록에서 요소를 제거합니다.

분류에서Dev

백본은 이전보기에서 이벤트를 제거합니다.

분류에서Dev

C #은 런타임에 이벤트를 바인딩하는 동안 이벤트 처리기에 추가 매개 변수를 전달합니다.

분류에서Dev

C # 코드에서 ToolStripButton에 이벤트 처리기를 추가하는 방법은 무엇입니까?

분류에서Dev

WPF, C #에서 이벤트 처리기를 자동으로 생성하는 방법은 무엇입니까?

분류에서Dev

이전 개체를 기반으로 목록에서 개체를 결합하는 방법은 무엇입니까?

분류에서Dev

C # .NET은 개체가 처리해서는 안되는 항목을 처리하지 못하도록합니다.

분류에서Dev

Axoni Framework가 Event Store에서 기록 이벤트 처리를 완료했는지 감지합니다.

분류에서Dev

Windows 앱에서 모든 이벤트 처리기를 제거하는 방법은 무엇입니까?

분류에서Dev

C #에서 이벤트 처리기의 응답을 기다리는 방법은 무엇입니까?

분류에서Dev

조건 자 논리를 사용하여 목록의 개체가 C #의 다른 목록에 포함 된 요소를 기반으로 제네릭 목록에서 요소를 제거하려면 어떻게해야합니까?

분류에서Dev

WinJS에서 외부 div 이벤트 처리기를 피하는 방법은 내부 div 이벤트 처리기에 영향을 미칩니다.

분류에서Dev

Google 경고 정책은 클라우드 스토리지 버킷 개체 수를 기반으로 문제를 트리거합니다.

분류에서Dev

C ++의 이니셜 라이저 목록에서 제공된 크기로 개인 멤버 배열을 만들려고합니다 (<vector> 사용은 금지됨)

분류에서Dev

파이썬은 목록과 일치하지 않는 readlines ()에서 정보를 제거합니다.

분류에서Dev

목록 C #에 목록이있을 때 데이터 집합에서 개체 채우기

분류에서Dev

목록 이해력 : 목록에서 빈 요소를 우아하게 제거하고 제거합니다.

분류에서Dev

목록의 기본 개체에 대한 InotifyPropertychange 이벤트는 발생하지 않아야합니다.

분류에서Dev

C #에서 동적 레이블을 편집하기위한 이벤트 처리기를 만드는 방법은 무엇입니까?

분류에서Dev

C #은 이벤트를 기다리고 있습니다.

분류에서Dev

명명 된 이벤트 처리기가 JavaScript에서 익명 처리기보다 더 많은 메모리를 사용합니까?

분류에서Dev

앱이 Xamarin iOS에서 종료되었을 때 이벤트 Firebase를 처리하거나 사용자가 버튼을 누르면 알림 지우기 이벤트를 처리하는 방법은 무엇입니까?

분류에서Dev

Pandas Python은 조건이있는 목록에서 요소를 제거합니다.

분류에서Dev

C # 클래스 라이브러리 DLL에서 도메인 이벤트 처리기를 등록하는 위치

분류에서Dev

MVC Razor 드롭 다운 목록 기본값이 onchange 이벤트를 트리거하지 않습니다.

분류에서Dev

관리되는 개체의 주소를 관리되지 않는 이벤트 처리기에 전달하는 방법은 무엇입니까?

분류에서Dev

사용자 지정 이벤트 개체로 이벤트 처리기 트리거

분류에서Dev

window.location이 두 개의 다른 이벤트 처리기에서 변경되었습니다. 실행을 중지하거나 우선 순위를 결정하는 방법은 무엇입니까?

분류에서Dev

이중 연결 목록은 C ++에서 짝수를 삭제합니다.

Related 관련 기사

  1. 1

    파이썬은 다른 목록을 기반으로 목록에서 요소를 제거합니다.

  2. 2

    백본은 이전보기에서 이벤트를 제거합니다.

  3. 3

    C #은 런타임에 이벤트를 바인딩하는 동안 이벤트 처리기에 추가 매개 변수를 전달합니다.

  4. 4

    C # 코드에서 ToolStripButton에 이벤트 처리기를 추가하는 방법은 무엇입니까?

  5. 5

    WPF, C #에서 이벤트 처리기를 자동으로 생성하는 방법은 무엇입니까?

  6. 6

    이전 개체를 기반으로 목록에서 개체를 결합하는 방법은 무엇입니까?

  7. 7

    C # .NET은 개체가 처리해서는 안되는 항목을 처리하지 못하도록합니다.

  8. 8

    Axoni Framework가 Event Store에서 기록 이벤트 처리를 완료했는지 감지합니다.

  9. 9

    Windows 앱에서 모든 이벤트 처리기를 제거하는 방법은 무엇입니까?

  10. 10

    C #에서 이벤트 처리기의 응답을 기다리는 방법은 무엇입니까?

  11. 11

    조건 자 논리를 사용하여 목록의 개체가 C #의 다른 목록에 포함 된 요소를 기반으로 제네릭 목록에서 요소를 제거하려면 어떻게해야합니까?

  12. 12

    WinJS에서 외부 div 이벤트 처리기를 피하는 방법은 내부 div 이벤트 처리기에 영향을 미칩니다.

  13. 13

    Google 경고 정책은 클라우드 스토리지 버킷 개체 수를 기반으로 문제를 트리거합니다.

  14. 14

    C ++의 이니셜 라이저 목록에서 제공된 크기로 개인 멤버 배열을 만들려고합니다 (<vector> 사용은 금지됨)

  15. 15

    파이썬은 목록과 일치하지 않는 readlines ()에서 정보를 제거합니다.

  16. 16

    목록 C #에 목록이있을 때 데이터 집합에서 개체 채우기

  17. 17

    목록 이해력 : 목록에서 빈 요소를 우아하게 제거하고 제거합니다.

  18. 18

    목록의 기본 개체에 대한 InotifyPropertychange 이벤트는 발생하지 않아야합니다.

  19. 19

    C #에서 동적 레이블을 편집하기위한 이벤트 처리기를 만드는 방법은 무엇입니까?

  20. 20

    C #은 이벤트를 기다리고 있습니다.

  21. 21

    명명 된 이벤트 처리기가 JavaScript에서 익명 처리기보다 더 많은 메모리를 사용합니까?

  22. 22

    앱이 Xamarin iOS에서 종료되었을 때 이벤트 Firebase를 처리하거나 사용자가 버튼을 누르면 알림 지우기 이벤트를 처리하는 방법은 무엇입니까?

  23. 23

    Pandas Python은 조건이있는 목록에서 요소를 제거합니다.

  24. 24

    C # 클래스 라이브러리 DLL에서 도메인 이벤트 처리기를 등록하는 위치

  25. 25

    MVC Razor 드롭 다운 목록 기본값이 onchange 이벤트를 트리거하지 않습니다.

  26. 26

    관리되는 개체의 주소를 관리되지 않는 이벤트 처리기에 전달하는 방법은 무엇입니까?

  27. 27

    사용자 지정 이벤트 개체로 이벤트 처리기 트리거

  28. 28

    window.location이 두 개의 다른 이벤트 처리기에서 변경되었습니다. 실행을 중지하거나 우선 순위를 결정하는 방법은 무엇입니까?

  29. 29

    이중 연결 목록은 C ++에서 짝수를 삭제합니다.

뜨겁다태그

보관