Frage

Ich habe einen Client bekommt, die während des Testens, mir gibt widersprüchlichen Informationen. Ich glaube nicht, sie liegen aber mehr verwirrt. Also, ich würde die Einrichtung wie ein paar einfache Revision in meiner ASP.Net-Anwendung. Insbesondere Recht, wenn eine Seite aufgerufen wird, möchte ich sofort die Abfragezeichen einfügen und / oder Form POST-Daten in einer Protokolltabelle. Nur die Rohwerte.

Abfragezeichen ist einfach. Aber es scheint nicht ein Weg, um die Rohform POST'ed Daten zu bekommen, ohne Binary zu verwenden, und wenn ich das tun, dann ich selbst herausschrauben Request.Form Sammlung mit später.

Kennt jemand eine Möglichkeit, um dieses?

EDIT: tvanfosson vorgeschlagen Request.Params. Ich war auf der Suche nach etwas, das zu verwenden war leichter zu (wie Request.Querystring, nur für POST), aber ich denke, ich könnte genauso gut Schleife durch alle params und eine Reihe von Namen = Wert bauen & usw.).

War es hilfreich?

Lösung

Alle die Formulardaten in Antrag rel="nofollow .params . Sie müssen dieses auf jeder Seite zu tun, obwohl oder vielleicht ein Httpmodule verwenden.

[EDIT] Wenn Sie möchten, verwenden Sie das Formular Parameter separat bekommen Request.Form , zusammen mit Request.QueryString

Andere Tipps

Sie können einen benutzerdefinierten erstellen Httpmodule alle Anforderung an Ihren Antrag zu erfassen, so dass Sie jede Seite nicht berühren müssen und Sie können es nur gerade während der Prüfung verwenden nicht die Leistung in der Produktion zu verlangsamen.

Eine Beispielimplementierung wäre:

public class CustomModule : IHttpModule 
{
    public void Init(HttpApplication context)
    {
        context.EndRequest += new EventHandler(context_BeginRequest);
    }

    private void context_BeginRequest(object sender, EventArgs e)
    {
        HttpContext context = ((HttpApplication)sender).Context;
        // you can use the context.Request here to send it to the database or a log file
    }
}

Sie müssen das Modul zu Ihrer web.config hinzufügen

<httpModules>
    <add name="CustomModule" type="CustomModule"/>
</httpModules>

würde ich empfehlen, und Httphandler oder ein Httpmodule für diese Art von Szenario zu implementieren. Sie können von dem Ereignis Page Load auf die POST-Daten erhalten, aber diese Protokollfunktion Umsetzung ist hier nicht so wartbar.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top