Error de WebResource.axd: "Esta es una solicitud de recurso web no válida".
Tengo una gran aplicación web .NET 2 que se ha actualizado para apuntar al marco .NET 4.0. Desde la actualización, veo el siguiente error recurrente regularmente en mis registros:
Esta es una solicitud de recurso web no válida.
El recurso solicitado es "~ / WebResource.axd"Por lo que puedo decir, la solicitud se ve bien porque hay una larga cadena de consulta con claves (las claves sond, t) y valores para esas claves.
¿Ha cambiado el mecanismo para generar solicitudes a WebResource.axd entre versiones de framework? ¿Alguien tiene algún consejo sobre cómo solucionar este problema?
Editar: Encontré una manera de descifrar la cadena de consulta de solicitud de recursos web (el código sigue). El recurso solicitado espCSSFriendly|CSSFriendly.CSS.Menu.css
que parece un problema al abordar el recurso CSSFriendly.MenuAdapter que utiliza la aplicación. Parece que esa "p" inicial podría ser el problema.
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;
}