Necesito registrar la carga útil de la solicitud para las solicitudes realizadas a IIS. ¿Es posible configurar el registro de las cargas útiles de la solicitud con el registro existente y los módulos avanzados de registro dentro de IIS 7.5 o puede alguien dirigirme a cualquier módulo personalizado que me permita registrar la carga útil de la publicación.IIS 7 Cuerpo de solicitud de registro
Respuesta
En realidad, puede ser hecho, de acuerdo con https://serverfault.com/a/90965, que, irónicamente, es una respuesta a la pregunta que David Silva Smith vinculado a en su respuesta aquí, alegando que no se puede hacer;)
El IIS los registros solo registran la información de la querystring y el encabezado sin datos POST.
Si está utilizando IIS7, puede habilitar el seguimiento de solicitudes fallidas para código de estado 200. Eso registrará todos los datos y puede seleccionar qué tipo de datos incluir.
me las arreglé para crear un archivo de texto para mis peticiones que contenía toda la solicitud y la respuesta (cabeceras), sólo lo utilizaron para registrar las peticiones específicas de correos:
protected void Application_BeginRequest(Object Sender, EventArgs e)
{
string uniqueid = Guid.NewGuid().ToString();
string logfile = String.Format("C:\\path\\to\\folder\\requests\\{0}.txt", uniqueid);
Request.SaveAs(logfile, true);
}
Esperemos que esto le ayude!
Aquí está el código del módulo HTTP personalizado que usamos para registrar los datos de solicitud HTTP POST.
using System;
using System.Web;
namespace MySolution.HttpModules
{
public class HttpPOSTLogger : IHttpModule
{
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
private void context_BeginRequest(object sender, EventArgs e)
{
if (sender != null && sender is HttpApplication)
{
var request = (sender as HttpApplication).Request;
var response = (sender as HttpApplication).Response;
if (request != null && response != null && request.HttpMethod.ToUpper() == "POST")
{
var body = HttpUtility.UrlDecode(request.Form.ToString());
if (!string.IsNullOrWhiteSpace(body))
response.AppendToLog(body);
}
}
}
}
}
No olvide registrarlo en la web.config de su aplicación.
secciónUso system.webServer para IIS Modelo Integrado
<system.webServer>
<modules>
<add name="HttpPOSTLogger" type="MySolution.HttpModules.HttpPOSTLogger, MySolution.HttpModules" />
</modules>
</system.webServer>
sección Uso system.web para IIS modelo clásico
<system.web>
<httpModules>
<add name="HttpPOSTLogger" type="MySolution.HttpModules.HttpPOSTLogger, MySolution.HttpModules"/>
</httpModules>
</system.web>
registro de IIS Antes de aplicar el módulo:
::1, -, 10/31/2017, 10:53:20, W3SVC1, machine-name, ::1, 5, 681, 662, 200, 0, POST, /MySolution/MyService.svc/MyMethod, -,
IIS registro Después de aplicar el módulo:
::1, -, 10/31/2017, 10:53:20, W3SVC1, machine-name, ::1, 5, 681, 662, 200, 0, POST, /MySolution/MyService.svc/MyMethod, {"model":{"Platform":"Mobile","EntityID":"420003"}},
Artículo completo:
https://www.codeproject.com/Tips/1213108/HttpModule-for-logging-HTTP-POST-data-in-IIS-Log
- 1. Comprensión de los archivos de registro de IIS 7
- 2. IIS 7 Métodos del servicio web de registro
- 3. IIS 7 Protocolos habilitados
- 4. Fijación de muelles @ Cuerpo de solicitud
- 5. IIS 7 Not Serving Default Document
- 6. personificación de IIS 7 e identidades
- 7. IIS 7 Servicio no disponible 503 ERROR
- 8. ¿Cómo funciona la canalización IIS 7/ASP.Net?
- 9. Enrutamiento de solicitud de aplicación (ARR) Espacios IIS 7 en URL
- 10. IIS 7 Deshabilitar "Requerir SSL"
- 11. cómo iis 7 genera etags
- 12. IIS 7: Tutorial para principiantes
- 13. NHibernate Session con IIS 7
- 14. IIS 7 Log Files Auto Delete?
- 15. IIS 7 - Autenticación de Windows no funciona
- 16. IIS 7 de compresión que no trabaja
- 17. ¿Tiene IIS 7 límite de solicitudes simultáneas?
- 18. IIS 7 httpruntime maxRequestLength límite de 2097151
- 19. Certificado de cliente con IIS 7
- 20. La URL de la solicitud no es válida en IIS 7
- 21. PHP obtener el cuerpo de la solicitud PUT
- 22. Websocket Server Detrás de IIS 7 Reverse Proxy
- 23. Problema oculto de desbordamiento de cuerpo en Internet Explorer 7
- 24. Mod de respuesta de seguridad/tamaño del cuerpo de solicitud?
- 25. Cómo habilitar SSL en IIS 7/Windows 7 64bit
- 26. Interceptar cuerpo de solicitud HTTP desde la extensión de cromo
- 27. Cuerpo de solicitud de acceso en un WCF RESTful Service
- 28. Contenido Longitud de la solicitud de HTTP> tamaño del cuerpo
- 29. MSDeploy migra solo la configuración de IIS 6 a 7
- 30. ¿Cómo prevenir/extender idleTimeout en IIS 7?
no ve el cuerpo de la petición de esta manera todos modos ... Sólo encabezado y algo de información de diagnóstico. – Azimuth
@Azimuth No he verificado esto, pero aparentemente estos campos contienen el cuerpo http de solicitud y respuesta, respectivamente: 'GENERAL_REQUEST_ENTITY' y' GENERAL_RESPONSE_ENTITY_BUFFER' –
@Azimuth es incorrecto. Configuré el seguimiento de solicitud fallida y recuperé todo el cuerpo POST. Me ayudó a descubrir exactamente qué se enviaba a mi API: http://blogs.msdn.com/b/benjaminperkins/archive/2012/01/02/enable-and-activate-failed-request-tracing-rules.aspx ? Redirigido = verdadero –