中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

net的網(wǎng)站建設(shè)(寧波網(wǎng)站建設(shè))

2024-04-30    分類: 網(wǎng)站建設(shè)

最近有個(gè)客戶要求開發(fā)一套短網(wǎng)址網(wǎng)站,小編現(xiàn)在都使用.net core進(jìn)行網(wǎng)站開發(fā)了,以是厘厘思路,想想使用.net core 的中間件應(yīng)該很容易實(shí)現(xiàn)。

1. 構(gòu)建一個(gè)中間件,監(jiān)測(cè)網(wǎng)站的響應(yīng)狀態(tài),代碼如下:

using Microsoft.AspNetCore.Builder;

using Microsoft.AspNetCore.Http;

using Microsoft.Extensions.Logging;

using NetCoreTFCMS.Domain.DbModel;

using System.Text.RegularExpressions;

using System.Threading.Tasks;

using TianFeng.FrameworkCore.DapperEx;

namespace NetCoreTFCMS.MiddleWare

{

public static class RequestIPExtensions

{

public static IApplicationBuilder UseWatchNoFound(this IApplicationBuilder builder)

{

return builder.UseMiddleware<WatchNoFoundMiddleWare>();

}

}

public class WatchNoFoundMiddleWare

{

private readonly RequestDelegate _next;

private readonly ILogger logger;

public WatchNoFoundMiddleWare(RequestDelegate next, ILoggerFactory loggerFactory)

{

_next = next;

logger = loggerFactory.CreateLogger<WatchNoFoundMiddleWare>();

}

public async Task Invoke(HttpContext context)

{

await _next.Invoke(context);

var path = context.Request.Path.ToString().Trim();

if (path.LastIndexOf("/") == 0)

{

var salt = path.Replace("/", "");

if (Regex.IsMatch(salt, @"^[a-zA-Z0-9]{6}$"))

{

var db = (IDbService)context.RequestServices.GetService(typeof(IDbService));

var model = await db.GetModelAsync<Link>(new { Salt = salt });

if (model != null)

{

if (!Regex.IsMatch(model.SiteUrl, "(file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp)://", RegexOptions.IgnoreCase))

{

model.SiteUrl = "http://" + model.SiteUrl;

}

context.Response.Redirect(model.SiteUrl, true);

}

else

{

logger.LogInformation(salt + "無匹配網(wǎng)址");

}

}

}

}

}

}

2.在startup.cs中的 Configure(IApplicationBuilder app)中添加引用 該 中間件

app.UseWatchNoFound();

這樣該中間件就會(huì)響應(yīng)短網(wǎng)址的六位字符串,如果匹配則重定向至對(duì)應(yīng)的網(wǎng)址。

具體的短網(wǎng)址生成,我想就很簡(jiǎn)單,這里就不多說了,如果有需要,大家可以咨詢我。

平臺(tái)界面

輸入網(wǎng)址

自動(dòng)生成當(dāng)前域名的短網(wǎng)址

后臺(tái)管理

非常感謝您讀完創(chuàng)新互聯(lián)的這篇文章:"net的網(wǎng)站建設(shè)(寧波網(wǎng)站建設(shè))",僅為提供更多信息供用戶參考使用或?yàn)閷W(xué)習(xí)交流的方便。我們公司提供:網(wǎng)站建設(shè)、網(wǎng)站制作、官網(wǎng)建設(shè)、SEO優(yōu)化、小程序制作等服務(wù),歡迎聯(lián)系我們提供您的需求。

網(wǎng)頁題目:net的網(wǎng)站建設(shè)(寧波網(wǎng)站建設(shè))
標(biāo)題網(wǎng)址:http://www.rwnh.cn/news13/326563.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作小程序開發(fā)、外貿(mào)建站、移動(dòng)網(wǎng)站建設(shè)、Google、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
托克托县| 广河县| 孟津县| 清镇市| 克什克腾旗| 永吉县| 五华县| 灵台县| 惠州市| 辛集市| 汉沽区| 瑞昌市| 乌兰察布市| 太保市| 正蓝旗| 颍上县| 昌邑市| 贺州市| 汉源县| 繁昌县| 穆棱市| 平阴县| 利辛县| 合水县| 马鞍山市| 思茅市| 永顺县| 太和县| 曲水县| 肇东市| 广昌县| 班戈县| 新巴尔虎右旗| 沙坪坝区| 长宁区| 凤阳县| 南乐县| 乳源| 衡山县| 普兰县| 卫辉市|