How to write an URI string in App.Config

29,278

Solution 1

You haven't properly encoded the ampersands in your URI. Remember that app.config is an XML file, so you must conform to XML's requirements for escaping (e.g. & should be &amp;, < should be &lt; and > should be &gt;).

In your case, it should look like this:

<appSettings>
    <add
        key="fooUriString" 
        value="https://foo.bar.baz/download/DownloadStream?id=5486cfb8c50c9f9a2c1bc43daf7ddeed&amp;login=null&amp;password=null"
    />
</appSettings>

But in general, if you wanted to store a string that looked like "I <3 angle bra<kets & ampersands >>>" then do this:

<appSettings>
    <add
        key="someString"
        value="I &lt;3 angle bra&lt;kets &amp; ampersands &gt;&gt;&gt;"
    />
</appSettings>

void StringEncodingTest() {
    String expected = "I <3 angle bra<kets & ampersands >>>";
    String actual   = ConfigurationManager.AppSettings["someString"];
    Debug.Assert.AreEqual( expected, actual );
}

Solution 2

&amp; should work just fine, Wikipedia has a List of predefined entities in XML.

Solution 3

Try using: &amp; in place of & in the url

Share:
29,278
radbyx
Author by

radbyx

Backend developer at al dente. Former WebDeveloper at CapaSystems. I like to code in C#, MVC, JavaScript, Jquery, winforms, MSSQL, MySql ect. :) email: radbyx AT gmail DOT com

Updated on May 05, 2020

Comments

  • radbyx
    radbyx about 4 years

    I am making a Windows Service. The Service has to donwload something every night, and therefor I want to place the URI in the App.Config in case I later need to change it.

    I want to write an URI in my App.Config. What makes it invalid and how should i approach this?

    <appSettings>
        <add key="fooUriString" 
             value="https://foo.bar.baz/download/DownloadStream?id=5486cfb8c50c9f9a2c1bc43daf7ddeed&login=null&password=null"/>
    </appSettings>
    

    My errors:

    - Entity 'login' not defined
    - Expecting ';'
    - Entity 'password' not defined
    - Application Configuration file "App.config" is invalid. An error occurred
    
  • radbyx
    radbyx over 11 years
    Thanks for the answers guys. You were first, so I'll accept yours, in a couple of minuts when the SO gods allow me too.