닷넷 프로그램의 경우 직렬화 된 데이터를 저장할 "올바른"위치는 어디입니까?직렬화 된 데이터 파일은 어디에 저장해야합니까?
/user/username 폴더에 있습니까? 프로그램 파일/MyAppName /? 다른 곳?
닷넷 프로그램의 경우 직렬화 된 데이터를 저장할 "올바른"위치는 어디입니까?직렬화 된 데이터 파일은 어디에 저장해야합니까?
/user/username 폴더에 있습니까? 프로그램 파일/MyAppName /? 다른 곳?
This blog post Microsoft의 Pat Altimore는 저장하려는 데이터 유형에 따라 여러 위치를 제시합니다.
.NET에서는 System.Environment.GetFolderPath
에 전달할 수있는 특수한 열거 형 값을 제공하여 원하는 '특수'폴더를 가져옵니다. 한마디로
: 그것은 사용자 별 데이터의 경우
SpecialFolder.ApplicationData
를 사용합니다.SpecialFolder.CommonApplicationData
을 사용하십시오.컴퓨터 관련 데이터의 경우 관리자 권한으로 프로그램을 실행해야합니다. 그렇지 않으면 해당 위치에 대한 쓰기 권한이 없습니다.
나는 당신이 어떤 유형의 날짜를 저장하려고하는지에 달려 있다고 말하고 싶습니다. 그것은 사용자가 특정 날짜의 경우 특정 데이터가 사용자가 아니라면 그때, 즉 그것의 데이터가 프로그램의 모든 사용자가 다음 아래의 폴더 내에 저장하여 공유
Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData);
에 의해 반환 된 경로를 사용하여 제안하여 아마도 설치 경로가 더 적절할 것입니다.
나는 귀하의 성명서에 정중히 동의하지 않습니다; 시스템 특정 데이터를 설치 경로에 저장하는 것은 권장되지 않습니다. Windows는 이러한 데이터에 대해 "공통 응용 프로그램 데이터"위치를 제공합니다. 설치 경로 (예 : "Program Files"폴더)는 * 응용 프로그램 파일 만 저장하기위한 것입니다. – BTownTKD
다른 사용자가 다른 데이터를 저장하면 Program Files가 아닌 사용자 계정에 저장하는 것이 좋습니다. –
데이터의 의미, 사용 컨텍스트, 사용 빈도, 사용 빈도 등에 따라 달라집니다. 좋은 답변을 얻고 자하는 것에 대한 자세한 정보를 제공하십시오. – Alex
응용 프로그램 설정이 아닌 응용 프로그램 데이터에 대한 내용이기 때문에 응용 프로그램 설정을 검색하지 않았습니다. 때때로 회색 영역이 될 수 있습니다. 죄송합니다 중복. – MrGibbage