Я использую web.sitemap моего приложения ASP.net для создания навигационных ссылок. Таким образом, если моя навигация меняется, я обновляю web.sitemap, и он автоматически строит мою навигацию. Однако после обновления с ASP.net 3.5 до 4.0 у меня возникли проблемы, связанные с файлом web.sitemap. После обновления до ASP.net 4.0 ссылки, сгенерированные из моего web.sitemap, иногда имеют странные символы, вставленные после имени домена (ссылка специально сломана, потому что мой лимит равен 2):
http //www.cheatsheetwarroom. com/(A(jUhJqoX4zAEkAAAAN2VlZTM2N2MtOWU5Mi00OWUyLTllZTUtMTY4MDY3ZGM2MTM2hMR-oHFFNS-DvXxMDadonaHu8pk1))/fantasy-football/nfl/free/rankings/offense/running-backs. aspx
Вы можете увидеть это, наведя курсор на ссылки на моей странице Sitemap (если она сломана, когда вы случайно просматриваете ее).
Проблема, вызванная этим, заключается в том, что следующий метод (который принимает в качестве параметра url узла карты сайта) начинает возвращать NULL для любых узлов в моем приложении, даже если я указываю на узлы, которые, как я знаю, находятся в моем файле web.sitemap:
SiteMapNode myNode = SiteMap.Provider.FindSiteMapNode("~/fantasy-football/nfl/free/rankings/player-rankings.aspx");
Предположительно это происходит потому, что странные url, генерируемые web.sitemap, больше не соответствуют явным узлам, которые я ищу. Поскольку многие из моих элементов управления меню основаны на сравнении текущей страницы с узлами в файле web.sitemap, большая часть моей навигации ломается. При возврате к ASP.net 3.5 все снова работает.
Я нашел это предложенное решение на Stack Overflow, которое предполагает, что проблема связана с режимом 'cookieless'. Однако, как вы можете видеть в моем web.config ниже, я принудительно использую cookies. Таким образом, либо предложенное исправление не совсем работает, либо я неправильно принуждаю использовать cookies. Следует отметить, что обновление файла web.config (в любой форме или способом) иногда на мгновение устраняет проблему, но затем она снова появляется.
Мой web.config
Мой web.sitemap
Я гоняюсь вокруг этой проблемы уже большую часть года, поэтому любая помощь будет принята с благодарностью.