由于我们的应用程序被移动到 Citrix VM 平台上,我需要将我们的应用程序设置配置文件从 C:\ProgramData 移动到另一个位置。对于这个特定的应用程序,每个用户都有自己的配置文件,它实际上是 app.config 文件的克隆,但只有用户特定的内容,例如加密的身份验证凭据。
考虑到这一点,我修改了代码以将配置文件保存到映射的网络驱动器。使用 system.configuration 我可以从网络驱动器读取内容而没有任何问题,但是当我尝试写入更改时,我收到以下错误消息:
*“试图执行未经授权的操作。”
以下是产生错误的函数:
Public Shared Function WriteSettingUser(ByVal configPath As String, ByVal userName As String, ByVal sectionName As String, ByVal setting As String, ByVal value As String) As String
Dim result As Boolean = False
Dim filemap As New ExeConfigurationFileMap
Dim config As Configuration
Dim section As AppSettingsSection
Try
filemap.ExeConfigFilename = configPath & userName & ".config"
config = ConfigurationManager.OpenMappedExeConfiguration(filemap, ConfigurationUserLevel.None)
section = config.GetSection(sectionName)
section.Settings(setting).Value = value
config.Save()
result = True
Catch ex As Exception
Throw
result = False
Finally
End Try
Return result
错误是在“config.save”行生成的。
对此问题的任何见解将不胜感激。
亲切的问候保罗J。