2011-01-08 4 views
0

각 요청마다 개체를 다시 만드는 데 많은 시간이 걸리기 때문에이 상황에서 정적 필드를 사용합니다.정적 필드를 사용하는 것은 나쁜 습관입니까?

private static AnalysedCompanies db = new AnalysedCompanies(); 

public class AnalysedCompanies:DbContext 
    { 
...  

    } 

먼저 Entity Framework 코드를 사용합니다.

나는 db 객체를 통해 데이터베이스에서 데이터를 저장하고로드하는 메소드를 가지고 있습니다. 정적 db 객체가 병목 현상을 일으킬 수 있습니까? 이것이 옳은 일입니까?

답변

2

ASP.net 웹 응용 프로그램에서 정적은 모든 사용자가 공유하므로 사용자 A가 볼 수있는 데이터를 사용자 A가보고/수정할 수 있고 모든 종류의 골치 거리를 초래할 수 있다는 점에서 매우 좋지 않습니다.

정적 필드는 모든 사용자에게 a) 공유되며 b) 사용자가 수정하지 않는 데이터입니다 (변경 사항은 다른 모든 사용자에게 공통이므로). 나는 시스템 구성이나 안전하게 공유 할 수있는 객체와 같은 것들에 정적을 사용합니다.

나는 이것이 시간 문제라고 생각한다. .net에는 많은 프로파일 러를 사용할 수 있습니다. 성능 문제가있는 경우 실제로 문제인지 확인한 후 조치하십시오.

관련 문제