標籤:管道 bsp app connect nbsp startup asp.net href layout
參考頁面:
http://www.yuanjiaocheng.net/ASPNET-CORE/core-razor-layout.html
http://www.yuanjiaocheng.net/ASPNET-CORE/core-view-start.html
http://www.yuanjiaocheng.net/ASPNET-CORE/core-import-view.html
http://www.yuanjiaocheng.net/ASPNET-CORE/core-razor-taghelpers.html
http://www.yuanjiaocheng.net/ASPNET-CORE/core-edit-form.html
ASP.NET Core開發,開發並使用中介軟體(Middleware)。
中介軟體是被組裝成一個應用程式管道來處理請求和響應的軟體組件。
每個組件選擇是否傳遞給管道中的下一個組件的請求,並能之前和下一組分在管道中調用之後執行特定操作。
具體
開發中介軟體(Middleware)
今天我們來實現一個記錄ip 的中介軟體。
1.建立一個asp.net core項目,選擇空的模板。
然後為項目添加一個 Microsoft.Extensions.Logging.Console
NuGet 命令列 ,請使用官方源。
Install-Package Microsoft.Extensions.Logging.Console -Pre
2.建立一個類: RequestIPMiddleware.cs
public class RequestIPMiddleware { private readonly RequestDelegate _next; private readonly ILogger _logger; public RequestIPMiddleware(RequestDelegate next, ILoggerFactory loggerFactory) { _next = next; _logger = loggerFactory.CreateLogger<RequestIPMiddleware>(); } public async Task Invoke(HttpContext context) { _logger.LogInformation("User IP: " + context.Connection.RemoteIpAddress.ToString()); await _next.Invoke(context); } }
3.再建立一個:RequestIPExtensions.cs
public static class RequestIPExtensions { public static IApplicationBuilder UseRequestIP(this IApplicationBuilder builder) { return builder.UseMiddleware<RequestIPMiddleware>(); } }
這樣我們就編寫好了一個中介軟體。
使用中介軟體(Middleware)
1.使用
在 Startup.cs 添加 app.UseRequestIP()
public void Configure(IApplicationBuilder app, ILoggerFactory loggerfactory) { loggerfactory.AddConsole(minLevel: LogLevel.Information); app.UseRequestIP();//使用中介軟體 app.Run(async (context) => { await context.Response.WriteAsync("Hello World!"); }); }
然後運行程式,我選擇使用Kestrel 。
訪問:http://localhost:5000/
成功運行。
這裡我們還可以對這個中介軟體進行進一步改進,增加更多的功能,如限制訪問等。
如果你覺得本文對你有協助,請點擊“推薦”,謝謝。
ASP.NET Core 開發-中介軟體(Middleware)