Solved

Double backslashes appearing in string path C#

Posted on 2011-02-12
6
2,448 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 9

Expert Comment

by:s_chilkury
ID: 34878706
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
ID: 34878724
like this?

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

Accepted Solution

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

Open in new window


Hope it helped :)
0
PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

 
LVL 3

Author Comment

by:QuinnDester
ID: 34878789
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
ID: 34878810
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
ID: 41843954
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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Broken .resx file generating errors 18 44
Validation for Passport expiry in asp.net 2 33
c#  FTP ftpwebrequest URI invalid 6 47
Difference between Highcharts and Mapbox 10 46
Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

710 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