发现网上很少有写Abp框架中如何获取客户端IP地址(非代理,这里只考虑普通情况)
由于Abp采用Ioc方式,我们只需要在需要的AppService类中的构造参数中加上IClientInfoProvider就可以使用了.
namespace Demo
{
public class DemoAppService : TestServiceBase, IDemoAppService
{
private readonly IRepository<DemoEntity, long> _demoRepository;
private readonly IClientInfoProvider _clientInfoProvider;
public DemoAppService (IRepository<DemoEntity, long> demoRepository,
IClientInfoProvider clientInfoProvider)
{
_demoRepository= demoRepository;
_clientInfoProvider = clientInfoProvider;
}
public async Task GetIp()
{
return _clientInfoProvider.ClientIpAddress;
}
}
}
这样就可以获取到客户端IP地址了.