Skip to content

Repository files navigation

LC6464.ASPNET.HttpConnectionInfo

NuGet 包GitHub 项目

在 ASP.NET 中快速获取当前 HTTP 连接的信息。

使用方法

ExampleWebAPI.csproj:

<ProjectSdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<!-- 一些东西 -->
</PropertyGroup>
<ItemGroup>
<PackageReferenceInclude="LC6464.ASPNET.HttpConnectionInfo"Version="1.2.0" />
<!-- PackageReference,请使用 Visual Studio 或 dotnet cli 等工具添加 -->
</ItemGroup>
<ItemGroup>
<UsingInclude="LC6464.ASPNET.HttpConnectionInfo" />
<!-- 一些东西 -->
</ItemGroup>
</Project>

Program.cs:

varbuilder=WebApplication.CreateBuilder(args);// 创建 builder// -------- 添加一些服务 --------builder.Services.AddHttpConnectionInfo();// 添加 HttpConnectionInfo 服务// -------- 添加另外一些服务、构建 WebApplication 等 --------

ExampleController.cs:

// -------- 一些 Using --------namespaceExampleWebAPI.Controllers;[ApiController][Route("[controller]")]publicclassExampleController:ControllerBase{privatereadonlyILogger<HelloController>_logger;privatereadonlyIHttpConnectionInfo_info;// 接口publicHelloController(ILogger<HelloController>logger,IHttpConnectionInfoinfo){// 依赖注入_logger=logger;_info=info;// 赋值}[HttpGet][ResponseCache(CacheProfileName="NoCache")]publicHelloGet(){varaddress=_info.RemoteAddress;// 获取接口的值_logger.LogDebug("Hello! Client {}:{} on {}",address?.AddressFamily==AddressFamily.InterNetworkV6?$"[{address}]":address,_info.RemotePort,_info.Protocol);returnnew(_info);}}

About

在 ASP.NET 中快速获取当前的 HTTP 连接的信息。

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages