Solved

Double backslashes appearing in string path C#

Posted on 2011-02-12
6
2,217 Views
Last Modified: 2016-10-14
I have a application that was working perfectly, i have just moved my website to a different server and the save path of created xml files has changed, instead of having it hard coded, i decided to place the path in the appsettings so i could edit it in the future if the path ever changed again, without having to recompile.

my problem is that when the path is getting picked up from the web config, the backslashes are being duplicated and the application doesnt see the path as a legitimate windows path giving the following error

The given path's format is not supported.

How can i stop this from happening.

Code in webconfig

      <appSettings>
            <add key="SaveLocation" value="c:\home\c\o\complus\www\"/>
      </appSettings>

picked up in the code like so:

string savelocation = System.Configuration.ConfigurationManager.AppSettings["SaveLocation"].ToString();
0
Comment
Question by:QuinnDester
6 Comments
 
LVL 9

Expert Comment

by:s_chilkury
Comment Utility
Access the variable savelocation prefixing @.

Also check if the path is evaluating to the right location by debugging/logging it at the savelocation path assignment.
0
 
LVL 3

Author Comment

by:QuinnDester
Comment Utility
like this?

string savelocation = System.Configuration.ConfigurationManager.AppSettings[@("SaveLocation")].ToString();
0
 
LVL 1

Accepted Solution

by:
barbessio earned 500 total points
Comment Utility
No, like:
      <appSettings>
            <add key="SaveLocation" value=@"c:\home\c\o\complus\www\"/>
      </appSettings>

Open in new window


Hope it helped :)
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 3

Author Comment

by:QuinnDester
Comment Utility
Thanks... I didnt think it needed that in the webconfig xml as it isnt compiled

Ill give it a go and let you know
0
 
LVL 3

Author Comment

by:QuinnDester
Comment Utility
I have fixed it...

it wasnt the duplicated backslashes causing the problem, it still shows them but must be an issue with the debugger..

the problem was this line

string xmlpostfix = ( HttpContext.Current.Request.ServerVariables["HTTP_HOST"]);

as i was running it in debugger that was evaluating as localhost:nameofserver, this was creating an invalid file name, i hard coded a url in its place and it works perfectly

Thanks for trying.
0
 

Expert Comment

by:Curtis Brooks
Comment Utility
I too am having this problem.  Placing and "@" in the web.config does not work. It actually produces an error in the web.config file.

I am trying to retrieve local path data from the web.config file and C# is adding \ slashes to everything so that an item in the web.config that reads
    <add key="DevCromerrCorUrl" value="\\devdotnet\wwwroot\air\CROMERR_COR\"/>
is returned to the method as "\\\\devdotnet\\wwwroot\\air\\CROMERR_COR\\"

Is this some subtle way that microsoft tries to tell us not to use these sort of things in web programming? By the way we are using server 2012 R2

cb
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
How do I get the id from URL? 19 46
C# Export DataGridView 4 37
Duplicate a row 2 28
Check my code out(2) 1 23
In .NET 2.0, Microsoft introduced the Web Site.  This was the default way to create a web Project in Visual Studio 2005.  In Visual Studio 2008, the Web Application has been restored as the default web Project in Visual Studio/.NET 3.x The Web Si…
A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now