C# 在网页上显示最后50行日志文件

C# 在网页上显示最后50行日志文件,c#,asp.net,C#,Asp.net,我开发了一个asp.net c#网页,允许用户下载或查看服务器日志。 一旦选择了服务器和日志日期,他们就可以选择通过记事本++打开它,或者在文本框中查看部分日志。 部分要求是在文本框中只显示日志的最后50行,这是唯一我不确定的部分,有人能告诉我正确的方向吗 刚才我正在构建路径,然后设置textbox的text属性,如下所示: _PathFrom = @"\\" + ddlServer.SelectedItem.Value + @"\Logs\" + App

我开发了一个asp.net c#网页,允许用户下载或查看服务器日志。 一旦选择了服务器和日志日期,他们就可以选择通过记事本++打开它,或者在文本框中查看部分日志。 部分要求是在文本框中只显示日志的最后50行,这是唯一我不确定的部分,有人能告诉我正确的方向吗

刚才我正在构建路径,然后设置textbox的text属性,如下所示:

                    _PathFrom = @"\\" + ddlServer.SelectedItem.Value + @"\Logs\" + AppOrSession.SelectedItem.Value + @"\" + ddlKernel.SelectedItem.Value + @"\" + txtLogName.Text;
                WebClient MyClient = new WebClient();
                _Log = MyClient.DownloadString(_PathFrom);
                txtLog.Text = _Log;
感谢使用此方法从文件中选取最后50行并显示到前端 公共静态IList GetLog(字符串logname,字符串numrows) { int-lineCnt=1; 列表行=新列表(); int最大线; 如果(!int.TryParse(numrows,out maxLines)) { 最大线=50; } 字符串logFile=HttpContext.Current.Server.MapPath(“~/”+logname); BackardReader br=新的BackardReader(日志文件); 而(!br.SOF) { string line=br.Readline(); line.Add(line+System.Environment.NewLine); 如果(lineCnt==maxLines)中断; lineCnt++; } 行。反向(); 回流线; }
问题出在哪里?读取文件?找到最后50行?如果你开始你的代码,如果你卡住了,回到这里会更好。也许这会有帮助:谢谢Maarten,看起来像我需要的,或者某种数组反转类型的东西什么是BackwardReader?
using this method pick last 50 lines from file and display to front end    

public static IList<string> GetLog(string logname, string numrows)
    {
        int lineCnt = 1;
        List<string> lines = new List<string>();
        int maxLines;

        if (!int.TryParse(numrows, out maxLines))
        {
            maxLines = 50;
        }

        string logFile = HttpContext.Current.Server.MapPath("~/" + logname);

        BackwardReader br = new BackwardReader(logFile);
        while (!br.SOF)
        {
            string line = br.Readline();
            lines.Add(line + System.Environment.NewLine);
            if (lineCnt == maxLines) break;
            lineCnt++;
        }
        lines.Reverse();
        return lines;
    }