2013-08-20 3 views
1

닷넷 프로그램의 경우 직렬화 된 데이터를 저장할 "올바른"위치는 어디입니까?직렬화 된 데이터 파일은 어디에 저장해야합니까?

/user/username 폴더에 있습니까? 프로그램 파일/MyAppName /? 다른 곳?

+1

다른 사용자가 다른 데이터를 저장하면 Program Files가 아닌 사용자 계정에 저장하는 것이 좋습니다. –

+1

데이터의 의미, 사용 컨텍스트, 사용 빈도, 사용 빈도 등에 따라 달라집니다. 좋은 답변을 얻고 자하는 것에 대한 자세한 정보를 제공하십시오. – Alex

+0

응용 프로그램 설정이 아닌 응용 프로그램 데이터에 대한 내용이기 때문에 응용 프로그램 설정을 검색하지 않았습니다. 때때로 회색 영역이 될 수 있습니다. 죄송합니다 중복. – MrGibbage

답변

0

This blog post Microsoft의 Pat Altimore는 저장하려는 데이터 유형에 따라 여러 위치를 제시합니다.

.NET에서는 System.Environment.GetFolderPath에 전달할 수있는 특수한 열거 형 값을 제공하여 원하는 '특수'폴더를 가져옵니다. 한마디로

: 그것은 사용자 별 데이터의 경우

  • , SpecialFolder.ApplicationData를 사용합니다.
  • 기계 별 데이터 인 경우 SpecialFolder.CommonApplicationData을 사용하십시오.

컴퓨터 관련 데이터의 경우 관리자 권한으로 프로그램을 실행해야합니다. 그렇지 않으면 해당 위치에 대한 쓰기 권한이 없습니다.

0

나는 당신이 어떤 유형의 날짜를 저장하려고하는지에 달려 있다고 말하고 싶습니다. 그것은 사용자가 특정 날짜의 경우 특정 데이터가 사용자가 아니라면 그때, 즉 그것의 데이터가 프로그램의 모든 사용자가 다음 아래의 폴더 내에 저장하여 공유

Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData);

에 의해 반환 된 경로를 사용하여 제안하여 아마도 설치 경로가 더 적절할 것입니다.

+0

나는 귀하의 성명서에 정중히 동의하지 않습니다; 시스템 특정 데이터를 설치 경로에 저장하는 것은 권장되지 않습니다. Windows는 이러한 데이터에 대해 "공통 응용 프로그램 데이터"위치를 제공합니다. 설치 경로 (예 : "Program Files"폴더)는 * 응용 프로그램 파일 만 저장하기위한 것입니다. – BTownTKD

관련 문제