zoukankan      html  css  js  c++  java
  • .NET Core自定义TagHelper和使用Serilog

    代码:

    using Microsoft.AspNetCore.Razor.TagHelpers;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    
    namespace NetCoreTestMVC2.Commons
    {
        //public class EmailTagHelper : TagHelper
        //{
        //  示例1:<email mail-to="xxx@qq.com"></email>
        //  public string MailTo { get; set; }
        //  public override void Process(TagHelperContext context, TagHelperOutput output)
        //  {
        //      output.TagName = "a";
        //      output.Attributes.SetAttribute("href",$"mailto:{MailTo}");
        //      output.Content.SetContent(MailTo);
        //  }
    
        //  示例2:<email>xxx@qq.com</email>
        //  public async override Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        //  {
        //      output.TagName = "a";
        //      var content = await output.GetChildContentAsync();
        //      var target = content.GetContent();
        //      output.Attributes.SetAttribute("href", $"mailto:{target}");
        //      output.Content.SetContent(target);
        //  }
        //}
    
        //[HtmlTargetElement(Attributes = "bold")]
        //[HtmlTargetElement("bold")]
        //public class BoldTagHelper : TagHelper
        //{
        //    //示例:<p bold>xxx</p> 或者 <bold>xxx</bold> 
        //    public override void Process(TagHelperContext context, TagHelperOutput output)
        //    {
        //        output.Attributes.RemoveAll("bold");
        //        output.PreContent.SetHtmlContent("<strong>");
        //        output.PostContent.SetHtmlContent("</strong>");
        //    }
        //}
    
        /// <summary>
        /// 条件 TagHelper
        /// <div condition="_SignInManager.IsSignIn(User)">xxx</div>
        /// 如果 condition 中返回的值是 false 则不会显示 div
        /// </summary>
        //public class ConditionTagHelper : TagHelper
        //{
        //    public bool Condition { get; set; }
        //    public override void Process(TagHelperContext context, TagHelperOutput output)
        //    {
        //        if (!Condition)
        //        {
        //            output.SuppressOutput();
        //        }
        //    }
        //}
    
        //前端使用TagHelper前缀,@tagHelperPrefix "tagpre:"
        //TagHelper 前缀,使用在标签前加上<tagpre:a>xxx</tagpre:a>
    }

     nuget使用日志Nuget安装:Serilog/Serilog.AspNetCore/Serilog.Sinks.File/Serilog.Sinks.Console
    配置:

    public class Program
        {
            public static void Main(string[] args)
            {
                Log.Logger = new LoggerConfiguration()
                    .MinimumLevel.Debug()
                    .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
                    .Enrich.FromLogContext()
                    .WriteTo.Console()
                    .WriteTo.File(Path.Combine("logs", "log.txt"), rollingInterval: RollingInterval.Day)
                    .CreateLogger()
                    ;
                CreateWebHostBuilder(args).Build().Run();
            }
    
            public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
                WebHost.CreateDefaultBuilder(args)
                .UseSerilog()
                .UseStartup<Startup>();
        }
  • 相关阅读:
    POJ 3977 折半枚举
    [CQOI2007]余数求和 (分块+数学
    NOI P1896 互不侵犯 状压DP
    HDU 5446 Unknown Treasure (卢卡斯+CRT
    宁夏邀请赛F FLOYD
    P1414 又是毕业季II (数学?
    P2051 [AHOI2009]中国象棋 DP
    POJ 2449:Remmarguts' Date(A* + SPFA)
    HDU 6215:Brute Force Sorting(链表+队列)
    HDU 6207:Apple(Java高精度)
  • 原文地址:https://www.cnblogs.com/xsj1989/p/13851473.html
Copyright © 2011-2022 走看看