Search code examples
c#asp.netexceptionweb-configappsettings

Error parsing AppSettings value with a query string


In my AppSettings in web.config, I have something like this:

<appSettings>
    <add key="ExternalSystemUrl" value="http://example.com/page.aspx?id={0}&action=eat&object=bacon" />
</appSettings>

However, it seems that when an ampersand (&) is included in an AppSettings value, ASP.NET throws the following error:

An error occurred while parsing EntityName

Why does this happen, and how can I include URLs like this in App.config?


Solution

  • Replace & with &amp; (escape it):

    <add
        key="ExternalSystemUrl"
        value="http://example.com/page.aspx?id={0}&amp;action=eat&amp;object=bacon" />
    

    That's the common requirement for any valid XML file.

    See Where can I get a list of the XML document escape characters?