Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';t save<;连接字符串>;进入.config文件_C#_.net_Vb.net - Fatal编程技术网

C# Can';t save<;连接字符串>;进入.config文件

C# Can';t save<;连接字符串>;进入.config文件,c#,.net,vb.net,C#,.net,Vb.net,我有一个加密的部分,我正试图将其保存在.config文件中。当我的程序在调试或发布模式下运行时,我可以打开MyApp.vshost.exe.config并查看加密部分。退出应用程序并再次打开后,部分丢失。 我的应用程序需要管理权限,如果有任何区别的话。 它正在.NET4.5.1上运行。欢迎用C#回答 Dim builder As SqlClient.SqlConnectionStringBuilder = New SqlClient.SqlConnectionStringBuil

我有一个加密的
部分,我正试图将其保存在.config文件中。当我的程序在调试或发布模式下运行时,我可以打开
MyApp.vshost.exe.config
并查看加密部分。退出应用程序并再次打开后,
部分丢失。
我的应用程序需要管理权限,如果有任何区别的话。 它正在.NET4.5.1上运行。欢迎用C#回答

Dim builder As SqlClient.SqlConnectionStringBuilder =
        New SqlClient.SqlConnectionStringBuilder(conneStr.ToString)  
Dim config As System.Configuration.Configuration =  
        ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
Dim section As ConnectionStringsSection =
        DirectCast(config.GetSection("connectionStrings"), ConnectionStringsSection)
Dim connSettings As ConnectionStringSettings =
        New ConnectionStringSettings("mySqlConnection",
                                      builder.ConnectionString,
                                      builder.ConnectionString)
section.ConnectionStrings.Add(connSettings)
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider")
section.SectionInformation.ForceSave = True
config.Save(ConfigurationSaveMode.Full)
ConfigurationManager.RefreshSection("connectionStrings")

我想你必须先解除保护,然后编辑,然后保护,然后保存。@toddmo你能更具体地
关于/protect
部分吗?
ProtectSection
。要取消保护(解密连接字符串部分),我必须使用
//解密连接字符串var arguments=string.Format(@“-pd”“connectionStrings”“-app”“/{0}”“,WebApplicationName);Shell.Run(@“C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet\u regiis”,参数,true)