1

由于我们的应用程序被移动到 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。

4

0 回答 0