# Vampirewal.BlogCore **Repository Path**: vampirewal/vampirewal.blogcore ## Basic Information - **Project Name**: Vampirewal.BlogCore - **Description**: 完全通过c#代码来启动一个博客页面,具体更新内容可拉取项目之后查看更新日志 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-06-25 - **Last Updated**: 2024-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

图片名称

[![NuGet(Vampirewal.BlogCore)](https://img.shields.io/nuget/v/Vampirewal.BlogCore.svg?label=Vampirewal.BlogCore)](https://www.nuget.org/packages/Vampirewal.BlogCore/) [![NuGet(Vampirewal.BlogCore)](https://img.shields.io/nuget/dt/Vampirewal.BlogCore.svg)](https://www.nuget.org/packages/Vampirewal.BlogCore/)
Vampirewal.BlogCore
#### 介绍 完全通过c#代码来启动一个博客页面,实际是我在后台编辑了模版,把里面的替换了而已 ## 🖥支持环境 - .NET 6.0及以上。 ## ✨简单示例 #### 可直接git拉取本项目启动Test查看 ``` cs public static void Main(string[] args) { App.RunBlog(args,html => { html.SetTitle("VampirewalBlog博客") .SetKeywords("haha") .SetDescription("测试博客") .SetIcoPath("/assets/logo.ico") .SetLogoPath("/assets/Vampirewal-Logo.png") .SetTopMenu(top => { TopMenu top1 = new TopMenu() { Id = "0", Name = "项目地址", Children = new List() { new TopMenu() { Id="0-1", Name="Gitee", Control=App.CreateLink("Gitee",href:"https://gitee.com/vampirewal/vampirewal.blogcore",targetType: LinkTargetType.Blank) } } }; top.Add(top1); }); }, service => { //加载自定义配置 service.AddBlogOptions(); UserManager user = new UserManager() { Name = "测试" }; service.AddSingleton(user); //这里添加其他的数据库ORM之类的,具体详细的可以拉取代码查看 //service.AddSqlSugar(); }, app => { app.UseForwardedHeaders(); app.UseRouting(); }, app => { }, Config_OnLoading, Config_OnLoaded); } private static void Config_OnLoaded(HttpRequest request, string html) { } private static void Config_OnLoading(HttpRequest request) { var ip = App.GetLocalhost(request); if (request.Headers.ContainsKey("X-Forwarded-For")) { // X-Forwarded-For可能包含多个IP地址,逗号分隔,第一个是非代理的客户端IP string xForwardedFor = request.Headers["X-Forwarded-For"]; string[] addresses = xForwardedFor.Split(','); string clientIp = addresses.FirstOrDefault().Trim(); // 获取第一个IP地址作为客户端IP Console.WriteLine($"客户端真实IP: {clientIp}"); } else { // 如果没有通过代理,则直接使用RemoteIpAddress string clientIp = request.HttpContext.Connection.RemoteIpAddress.ToString(); Console.WriteLine($"客户端真实IP: {clientIp}"); } } ```