Ошибка анализа значения AppSettings с помощью строки запроса
В моих AppSettings в web.config у меня есть что-то вроде этого:
<appSettings>
<add key="ExternalSystemUrl" value="http://domain.com/page.aspx?id={0}&action=eat&object=bacon" />
</appSettings>
Однако кажется, что когда амперсанд (&
) включен в значение AppSettings, ASP.NET выдает следующую ошибку:
Произошла ошибка при разборе EntityName
Почему это происходит, и как включить такие URL-адреса в App.config?
Ответы
Ответ 1
Замените &
на &
(уберите его):
<add
key="ExternalSystemUrl"
value="http://domain.com/page.aspx?id={0}&action=eat&object=bacon" />
Это общее требование для любого допустимого XML файла.
Смотрите Где я могу получить список escape-символов документа XML?
Ответ 2
Вместо этого используйте &
.
Ответ 3
В XML амперсанд сообщает парсеру "данные, следующие за этим амперсандом, - это объект, который нужно перевести". Если приведенные ниже данные не являются допустимым объектом XML, вы получаете эту ошибку. Если возможно, используйте &
для вашего амперсанда в XML.