Estoy tratando de enviar una gran cantidad de datos a un controlador HTTP. No puedo enviarlo usando GET debido al límite de longitud de la URL, así que decidí enviarlo por correo. El problema es que no puedo entender los valores. context.Request.Form muestra que tiene 0 elementos. Entonces, ¿hay alguna manera de que pueda POSTAR datos a HttpHandler?Cómo enviar datos a ASP.NET HttpHandler?
Respuesta
Los datos de POST que está enviando a su controlador HTTP deben estar en el formato querystring a=b&c=d
. Y puede recuperarlo en el lado del servidor usando Request["a"]
(devolverá b
), y así sucesivamente.
Lo siento, pero no lo entiendo. ¿Cómo serían los datos? PUBLICADO si lo envío en una Querystring: S. ¿Puede explicar un poco más lo que está sugiriendo? Si está diciendo que debería crear una cadena de consulta y anexarla a mi URL, eso no funcionaría debido al límite de longitud de la URL –
Creo que quiere codificar en URL los datos, delimitados por signos y (&), como en una cadena de consulta, excepto en el cuerpo de la solicitud, no en la URL. JQuery debe manejar esto automáticamente. –
Tener un código para observar ayudaría a diagnosticar el problema. ¿Has intentado algo como ésto? código
jQuery:
$.post('test.ashx',
{key1: 'value1', key2: 'value2'},
function(){alert('Complete!');});
Luego, en el método de ProcessRequest()
, usted debería ser capaz de hacer:
string key1 = context.Request.Form["key1"];
También puede comprobar el tipo de solicitud en el ProcessRequest() para depurar el problema.
if(context.Request.RequestType == "POST")
{
// Request should have been sent successfully
}
else
{
// Request was sent incorrectly somehow
}
que estaba teniendo el mismo problema, y finalmente di cuenta de que la fijación del tipo de contenido como "json" fue el tema ...
contentType: "application/json; charset=utf-8"
Esa es una línea de algunos tutoriales populares sugieren que usted agregue en la llamada $ ajax, y funciona bien con ASPx WebServices, pero por alguna razón no lo hace para un HttpHandler usando POST.
Difícil de detectar ya que los valores en la cadena de consulta funcionan bien (otra técnica que se ve en la web, aunque no tiene mucho sentido usar POST para eso).
También tuve el mismo problema. Fue un problema de cliente/AJAX. Tuve que configurar el encabezado de solicitud de llamada AJAX "ContentType" a
application/x-www-form-urlencoded
para que funcione.
Se enfrentó un problema similar. Después de corregir todos los problemas, había una cosa más que omití en web.config
- para cambiar el verbo como *
O GET,POST
. Después de eso todo funcionó bien.
<httpHandlers>
...
<add verb="*" path="test.ashx" type="Handlers.TestHandler"/>
</httpHandlers>
campos POST se encuentran en
HttpContext.Request.Params
Para recuperarlos puede utilizar
var field = HttpContext.Request.Params["fieldName"];
- 1. ¿Cómo depurar ASP.net HTTPHandler
- 2. pase jquery json a asp.net httphandler
- 3. Tiene un ASP.NET HttpHandler timeout
- 4. asp.net HttpHandler personalizado y enrutamiento de URL
- 5. ¿Cómo registrar HttpHandler para todas las subcarpetas en Asp.Net?
- 6. ¿Qué es un HttpHandler en ASP.NET
- 7. ASP.Net HttpHandler ProcessRequest() disparando dos veces
- 8. Server.Transfer a un HttpHandler
- 9. Enviando archivo en fragmentos a HttpHandler
- 10. ¿Puede un ASP.NET HttpHandler manejar un http 400 - Solicitud incorrecta?
- 11. SignalR: Cómo enviar datos a IConnected.Connect()
- 12. Llame al HttpHandler asp.net predeterminado desde un controlador personalizado
- 13. MVC asp.net: Enviar formularios múltiples
- 14. ¿Cómo enviar datos a través de PendingIntent a Broadcast?
- 15. Enviar datos a un hilo específico
- 16. ASP.NET ¿Cómo deshabilitar el botón al enviar?
- 17. cURL para enviar datos a una forma
- 18. cómo enviar correo usando smtp en asp.net
- 19. ¿Cómo se usa el estado de sesión ASP.NET en un HttpHandler?
- 20. enviar correo electrónico asp.net C#
- 21. Enviar datos de Python a Javascript (JSON)
- 22. ¿Cómo enviar datos de un dispositivo Android a otro?
- 23. ¿Cómo puede enviar datos a un cliente de página web?
- 24. ¿Cómo enviar datos desde BroadcastReceiver a una actividad en android?
- 25. Cómo enviar datos a un cliente .NET CF?
- 26. Cómo enviar datos variables al redirigir a la página anterior
- 27. Asignación de una carpeta específica a HttpHandler en web.config
- 28. ISAPI vs httphandler
- 29. ASP.Net Exportar datos a Excel
- 30. Enviar datos con jQuery a un controlador MVC
¿Qué estás usando para hacer la solicitud? HttpWebRequest? –
Estoy haciendo una llamada Ajax usando Jquery –
¿Podría proporcionar un ejemplo de código de lo que está haciendo en el lado de la solicitud? – Deeksy