У меня есть большое веб-приложение .NET 2, которое было обновлено для платформы .NET 4.0. После обновления в журналах регулярно появляется следующая ошибка:
Это недопустимый веб-ресурс
запрос.
Запрашиваемый ресурс: " ~ / WebResource.axd "
Насколько я могу судить, запрос выглядит хорошо, так как есть длинная строка запроса с ключами (ключи d , t ) и значениями для этих ключей.
Изменился ли механизм генерации запросов к WebResource.axd между версиями фреймворка? У кого-нибудь есть советы по устранению этой проблемы?
Edit:
Я нашел способ расшифровать строку запроса веб-ресурса (код следует). Запрашиваемый ресурс - pCSSFriendly|CSSFriendly.CSS.Menu.css
, что выглядит как проблема с обращением к ресурсу CSSFriendly.MenuAdapter, который используется приложением. Это ведущий «р» выглядит так, как будто это может быть проблемой.
private string DecryptWebResource(string urlEncodedData)
{
byte[] encryptedData = HttpServerUtility.UrlTokenDecode(urlEncodedData);
Type machineKeySection = typeof(MachineKeySection);
Type[] paramTypes = new Type[] { typeof(bool), typeof(byte[]), typeof(byte[]), typeof(int), typeof(int) };
System.Reflection.MethodInfo encryptOrDecryptData = machineKeySection.GetMethod("EncryptOrDecryptData", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic, null, paramTypes, null);
try
{
byte[] decryptedData = (byte[])encryptOrDecryptData.Invoke(null, new object[] { false, encryptedData, null, 0, encryptedData.Length });
string decrypted = Encoding.UTF8.GetString(decryptedData);
return decrypted;
}
catch (System.Reflection.TargetInvocationException)
{
}
return String.Empty;
}