Code Behing update web.config mapping issue
-
22-07-2019 - |
Question
I from the code behind I need to update my web.config. This has never been a problem before, however I am getting an error recently. The errors say "Failed to map the path '/'." The lines commented out were different variations of what i tried.
//Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration(Server.MapPath("~"));
//Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration("~");
//Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration(null);
Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration(".");
// update pages theme
RoleManagerSection section = (RoleManagerSection)myWebConfig.GetSection("system.web/roleManager");
section.DefaultProvider = "SqlRoleManager";
section.Providers.Clear();
ProviderSettings providerSettings = new ProviderSettings();
providerSettings.Name = "SqlRoleManager";
providerSettings.Type = "System.Web.Security.SqlRoleProvider";
providerSettings.Parameters.Clear();
providerSettings.Parameters.Add("connectionStringName", "SimpleTickConnection");
providerSettings.Parameters.Add("applicationName", "TheaterSales");
section.Providers.Add(providerSettings);
myWebConfig.Save();
Solution
I figured out the reason for the error. After moving the site from my local C: drive to a western digital passport and running the app the error started. The line of code below is fine:
Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration("~/");
OTHER TIPS
Just at first glance, try making WebConfigurationManager.OpenWebConfiguration("."); point to an actual configuration file such as web.config
WebConfigurationManager.OpenWebConfiguration("web.config");
Make sure to also include the path if needed.
The file path "~/" means the root folder of the Web application. "~" and null
don't have any meaning to the method; "." means the current (i.e., bin
) folder.
It happened to me when I switched from Windows Vista to Windows 7. The default security of Windows 7 caused this because VS didn't have permissions to open the file. Just I restarted Visual Studio as Administrator and it worked, as simple as that. I hope it helps some other people.