web-dev-qa-db-fra.com

Comment utiliser la sortie de la console dans un environnement ASP.NET?

Je voudrais imprimer quelques traces lors du traitement des demandes.

Mais quand je crée Console.WriteLine ("quelque chose") dans cet environnement, rien ne s'affiche.

Qu'est-ce qui manque, que dois-je faire pour utiliser la console pour imprimer ces traces?

25
Victor Rodrigues

Utilisez Debug.Write() et regardez les résultats sortir par la fenêtre de sortie du débogueur dans l'EDI.

Vous pouvez également utiliser la fonctionnalité trace ASP.NET , qui est assez puissante. Une fois que vous avez activé le traçage, vous pouvez accéder à la page trace.axd dans le répertoire racine de votre application Web. Cette page affichera les messages de trace de votre application.

29
CesarGon

En plus des méthodes déjà mentionnées, vous pouvez simplement écrire dans un fichier journal:

File.AppendAllText(@"c:\log.txt", @"Debug Message Here!" + Environment.NewLine);

Bien sûr, vous pouvez utiliser Server.MapPath pour écrire le fichier dans votre répertoire Web.

9
user113476

Je sais que c'est tard, mais vous pouvez écrire sur votre console Javascript à partir de votre script C # en utilisant la classe suivante

public static class Javascript
{
    static string scriptTag = "<script type=\"\" language=\"\">{0}</script>";
    public static void ConsoleLog(string message)
    {       
        string function = "console.log('{0}');";
        string log = string.Format(GenerateCodeFromFunction(function), message);
        HttpContext.Current.Response.Write(log);
    }

    public static void Alert(string message)
    {
        string function = "alert('{0}');";
        string log = string.Format(GenerateCodeFromFunction(function), message);
        HttpContext.Current.Response.Write(log);
    }

    static string GenerateCodeFromFunction(string function)
    {
        return string.Format(scriptTag, function);
    }
}

De cette façon, vous pouvez voir vos messages de journal en temps réel lorsque vous cliquez sur le site, comme vous le feriez dans js.

9
MichaelTaylor3D

Vous pouvez utiliser Response.Write pour écrire la sortie sur votre page pour le débogage, ou utiliser alert en javascript, ou même écrire dans un fichier journal. Il existe de nombreuses façons d'obtenir une sortie de débogage. Il existe également un log4net pour .Net que vous pouvez utiliser (similaire à log4j)

4
dcp

Étant donné qu'il s'agit d'une application ASP.NET, je ferais:

Page.Trace.Write ("Something here");

Activez ensuite trace soit pour la page ou l'application puis allez dans ~/Trace.axd pour voir les résultats ( ils peuvent également être à la fin de la sortie de la page, selon l'option de configuration que vous choisissez).

3
Gonzalo

Où recherchez-vous la sortie?

Console.WriteLine () écrit sur la ligne de commande - pas sur la page Web. Utilisez Response.Write () pour écrire sur la page Web ou démarrez votre application dans le débogueur Visual Studio pour consulter la sortie de la ligne de commande.

1
ctford