
那么如果我想存储一个应用程序机器的数据我只是使用
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
如果我想存储每个用户的数据我使用
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
但是,如果我想保存每个应用程序实例的数据呢? 我可以使用该应用程序存储在文件夹,但“程序文件”文件夹不是为这种types的数据存储,如果我理解它的权利… … –
编辑:为了澄清我的意思,如果我在不同的文件夹中安装应用程序2次…不是实例运行抱歉。
如何在C#中获取当前用户的本地设置文件夹path?
我如何枚举所有可用的无线networking并将其显示在列表框中?
“assembly炼狱”会发生什么?
我的程序甚至需要pipe理员权限才能打开文件,这是否正常?
有没有windows Azure本地开发环境?
Win C#:以pipe理员身份运行应用程序,无需UAC提示
windowsPrincipal.IsInRole考虑到组内的组?
安装程序自定义 *** 作无法读取所有registry值
简单的问题关于registryCreateSubKey
WinRT,JavaScript和随机的“拒绝访问”exception
我不知道有任何其他的应用程序。
如果我运行Visual Studio的两个副本,说我希望关闭的最后一个实例的设置是持续的。
如果您为实例分配一个唯一的ID(GUID),那么您下次运行应用程序时如何重用该值? 或者你想在每次运行应用程序时获得一组新的值?
如果你想重用,你可以创建编号的子目录(1,2,3,4等),并且每次运行应用程序时都要向该目录写入一个锁定文件。 然后检查是否存在锁定文件并增加数字,直到找到解锁的文件夹。
UPDATE
根据添加的评论 – 为什么不能得到可执行文件的路径,并创建一个文件夹下?
如果用户不具有该文件夹的权限,则必须在位置和GUID(例如)之间创建某种映射,然后将其附加到应用程序设置和用户设置路径。
为什么不将数据存储在临时目录Path.GetTempPath中。 您可以为您的应用程序使用子文件夹,并为您的实例使用另一个子文件夹(也许GuID作为名称)。 我将实现一些实现Idisposable的管理器类,以允许在应用程序关闭时删除实例路径。
在用户数据文件夹或机床数据文件夹下创建一个实例文件夹,如果需要的话。 您的应用程序可以在退出时删除任何不需要的数据。 虽然@ChrisF是正确的最常见的行为。
一种可能性是在程序第一次运行时生成一个唯一的ID,并将其存储在程序特定的地方(可能是本地配置文件)。
然后,当你想访问该应用程序的特定副本的文件,只需使用
System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),"" + uniqueID);
要么
System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData),"" + uniqueID);
总结以上是内存溢出为你收集整理的.NET Windows商店数据全部内容,希望文章能够帮你解决.NET Windows商店数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)