控制器基类参考
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using WebNetCore5_Img_Storage.IBLL;
using WebNetCore5_Img_Storage.Model;
namespace WebNetCore5_Img_Storage.Controllers
{
public class BaseController : Controller
{
protected UserView CurrentUser
{
get
{
string sessionJson = HttpContext.Session.GetString("user");
UserView userView = null;
try
{
userView = System.Text.Json.JsonSerializer.Deserialize<UserView>(sessionJson);
}
catch (Exception)
{
userView = null;
}
return userView;
}
}
protected string GetCustomerIp
{
get
{
var ip = this.Request.Headers["X-Forwarded-For"].FirstOrDefault();
if (string.IsNullOrEmpty(ip))
{
ip = this.Request.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString();
}
return ip;
}
}
protected async Task LeaderXmSelectData()
{
ILeaderBLL leaderBLL = (ILeaderBLL)HttpContext.RequestServices.GetService(typeof(ILeaderBLL));
var pageLeader = await leaderBLL.PageAsync(null, 1, 20);
HashSet<string> leaderArr = new HashSet<string>();
if (pageLeader.List?.Count == 0)
{
ViewBag.pageLeader = "[]";
}
else
{
foreach (var item in pageLeader.List)
{
string name = item.Department_name + "." + item.Job_name + "." + item.Real_name;
string id = item.Id;
leaderArr.Add("{\"name\":\"" + name + "\",\"value\":\"" + id + "\"}");
}
ViewBag.pageLeader = "[" + string.Join(",", leaderArr) + "]";
}
}
}
}
在控制器中获取注册的实例
[LoginFilter("3000301")]
public async Task<IActionResult> DelPc(string id)
{
var result = await checkImgBLL.DeletePc(id, CurrentUser);
ILeaderBLL leaderBLL = (ILeaderBLL)HttpContext.RequestServices.GetService(typeof(ILeaderBLL));
var pageLeader = await leaderBLL.PageAsync(null, 1, 20);
return Json(result);
}