Backup/Wilco.SyntaxHighlighting/Web/SyntaxHighlighterHandler.cs

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;

using Wilco.SyntaxHighlighting;
using System.Web.UI.WebControls;

namespace Wilco.Web.SyntaxHighlighting
{
    public class SyntaxHighlighterHandler : IHttpHandler
    {
        public bool IsReusable
        {
            get
            {
                return true;
            }
        }

        public SyntaxHighlighterHandler()
        {
            //
        }

        public void ProcessRequest(HttpContext context)
        {
            string absoluteFilePath = context.Server.MapPath(context.Request.FilePath);
            string extension = Path.GetExtension(absoluteFilePath).Substring(1);

            string language = "C#"; // Default language.

            foreach (HighlighterBase h in Register.Instance.Highlighters)
            {
                if (h.FileExtensions.Contains(extension))
                {
                    language = h.Name;
                    break;
                }
            }
            
            Page page = new Page();
            page.Controls.Add(new LiteralControl(@"<?xml version=""1.0""?>
<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Strict//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"">
<html>"));

            HtmlHead header = new HtmlHead();
            page.Controls.Add(header);
            header.Title = "Source for " + Path.GetFileName(absoluteFilePath);

            PlaceHolder body = new PlaceHolder();
            page.Controls.Add(body);

            page.Controls.Add(new LiteralControl(@"</body>
</html>"));

            SyntaxHighlighter highlighter = new SyntaxHighlighter();
            highlighter.Language = language;
            highlighter.Mode = HighlightMode.Source;
后面还有 7 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。