gpt4 book ai didi

c# - 如何为两个 Windows 窗体应用程序共享一个 IsolatedStorage?

转载 作者:行者123 更新时间:2023-11-30 15:44:14 26 4
gpt4 key购买 nike

我在一个解决方案中有两个 Windows 窗体应用程序和库。

库类可以在 IsolatedStorage 中创建新的文件夹和文件,并列出 IsolatedStorage 中的所有文件和文件夹。

第一个应用程序使用库类来创建新的文件夹/文件我希望第二个列出第一个应用程序创建的文件夹。我怎样才能让他们使用相同的隔离存储?

最佳答案

使用 IsolatedStorageFile.GetUserStoreForAssembly 从库创建隔离存储。

详情 here

您可以在您的库中使用以下类型。 application1 和 application2 可以通过库中的以下类型写入/读取相同的隔离存储

下面:

 public class UserSettingsManager
{
private IsolatedStorageFile isolatedStorage;
private readonly String applicationDirectory;
private readonly String settingsFilePath;

public UserSettingsManager()
{
this.isolatedStorage = IsolatedStorageFile.GetMachineStoreForAssembly();
this.applicationDirectory = "UserSettingsDirectory";
this.settingsFilePath = String.Format("{0}\\settings.xml", this.applicationDirectory);
}

public Boolean WriteSettingsData(String content)
{
if (this.isolatedStorage == null)
{
return false;
}

if (! this.isolatedStorage.DirectoryExists(this.applicationDirectory))
{
this.isolatedStorage.CreateDirectory(this.applicationDirectory);
}

using (IsolatedStorageFileStream fileStream =
this.isolatedStorage.OpenFile(this.settingsFilePath, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
using (StreamWriter streamWriter = new StreamWriter(fileStream))
{

streamWriter.Write(content);
}

return true;
}

public String GetSettingsData()
{
if (this.isolatedStorage == null)
{
return String.Empty;
}

using(IsolatedStorageFileStream fileStream =
this.isolatedStorage.OpenFile(this.settingsFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read))
using(StreamReader streamReader = new StreamReader(fileStream))
{
return streamReader.ReadToEnd();
}
}
}

编辑:

dll 应该是强命名程序集。下面的快照显示了如何向程序集添加强名称。 Go to Project properties

In the Signing tab of the properties, Click on "New" drop down item and provide a snk name in the dialog

关于c# - 如何为两个 Windows 窗体应用程序共享一个 IsolatedStorage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6167622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com