나는 모든 응용 프로그램 인스턴스에서 공유되는 읽기 전용 목록을 가지고 있으며 자주 변경되지 않습니다. 이 목록에 액세스하려면 정적 클래스에서 속성을 만드는 것이 좋습니다. 목록은 정적 생성자의 데이터베이스에서 채워집니다. 매일 밤 재활용되도록 앱 풀을 설정하면 목록이 매일 최신 상태로 유지됩니다. 이것이 나쁜 생각 인 이유가 있습니까? 감사!정적 클래스에 적합합니까?
3
A
답변
2
정적 클래스에는 아무런 문제가 없습니다. 비슷한 방식으로 작동하는 캐시를 사용할 수도 있습니다. 캐시를 사용하면 원하는 시간에 따라 캐시를 무효화 할 수 있다는 보너스를 얻을 수 있습니다.
2
0
정적 속성을 저장하는 방법을 이해해야합니다.
모든 정적 상태는 RuntimeType (정적 ctor가 호출 될 때 생성됨)의 인스턴스에 배치됩니다. C#을 통한 CLR은이 메커니즘을 자세히 설명합니다.
이 컬렉션은 모든 인스턴스에서 공유되지만 모든 잠재적 인 메모리 누수를 염두에 두어야합니다 (컬렉션 이벤트에 가입 할 때 상황을 상상해보십시오. 그들은 폐쇄 중입니다.)
이 접근법의 두 번째 단점은이 수집이 최신이 아니라는 것입니다. 세 번째 단점은이 컬렉션의 스레드 안전성에주의를 기울여야하므로 성능에 해를 끼칠 수 있다는 것입니다.
관련 문제
- 1. PHP의 정적 클래스에 쓰기
- 2. 메서드가 정적 클래스에 있는지 알아보십시오
- 3. asp.net 양식의 정적 클래스에 액세스
- 4. 정적 클래스에 텍스트 블록 바인딩
- 5. 액티비티 객체를 정적 클래스에 전달
- 6. 정적 클래스에 나열 할 인터페이스
- 7. FieldOperator 클래스에 정적 상수가 없습니다.
- 8. 왜 정적 메서드를 클래스에 래핑해야합니까?
- 9. 클래스에 정적 메서드가 있는지 확인
- 10. 정적 클래스에 정적 메서드를 두는 것과 정적 클래스에 인스턴스 메서드를 넣는 것의 차이점은 무엇입니까?
- 11. 정적 클래스에 IUnityContainer에 대한 참조를 얻는 것은
- 12. 정적 클래스에 전역 불변 데이터 저장하기
- 13. leveldb 래퍼 클래스에 정적 메서드 연결
- 14. 정적 클래스에 대리자를 전달하면 누수가 발생합니까?
- 15. C# 라이브러리 클래스에 정적 메서드 호출 moqing
- 16. 정적 메소드 정의가 파생 클래스에 위임되었습니다. (C++)
- 17. Caliburn Micro의 정적 클래스에 메시지 전달
- 18. 정적 클래스에 대한 일반 기본 클래스 생성
- 19. 정적 클래스에 소멸자가없는 이유는 무엇입니까? 이것에
- 20. 파생 클래스에 정적 멤버를 적용하는 방법?
- 21. QListView가 적합합니까?
- 22. smartclient가 적합합니까?
- 23. Grails는 복잡한 어플리케이션에 적합합니까?
- 24. CouchDB는 동적 언어에 가장 적합합니까?
- 25. SQLite는 포럼에 적합합니까?
- 26. MVC3은 온라인 게임에 적합합니까?
- 27. resx 파일은 국제화에 적합합니까?
- 28. SQLite는 동시 읽기에 적합합니까?
- 29. 캐싱이이 시나리오에 적합합니까?
- 30. Zookeeper는 객체 캐싱에 적합합니까?
는 나에게 잘 들립니다. struct/(sealed) 클래스로는 할 수 없었던 것은 없습니다. 모든 유형에는 정적 멤버가 포함될 수 있습니다. – sehe
오, 아이들을 생각해보십시오. 목록을 수정 불가능한 컬렉션으로 노출하십시오. – sehe