using Microsoft.Extensions.DependencyInjection;
using Hncore.Pass.Manage.Repository;
using Hncore.Pass.Manage.Service;
using Hncore.Pass.Manage.Filters;
using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Caching.Distributed;
using Hncore.Pass.Manage.Util;
namespace Hncore.Pass.Manage.Util
{
///
/// 应用工具类
///
///
public static class AppUtil
{
///
/// 当前应用的服务专用扩展配置
///
/// 服务集合(容器对象)
/// 服务集合(容器对象)
///
public static IServiceCollection MyServicesSpecialUseConfigure(this IServiceCollection services)
{
LoadServicesToContainer(services);//配置服务依赖注入
RegisterGlobalFilters(services);//注册全局过滤器
return services;
}
///
/// 当前应用的专用扩展配置
///
/// 用于构建应用程序的请求管道
/// 提供了当前应用程序的运行的宿主环境配置信息
/// 日志工厂
///
public static void MySpecialUseConfigure(this IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
AutoMapperConfig();//AutoMapper映射配置
}
///
/// 将当前项目常用的服务加载到容器中管理起来(该函数会在Startup中的ConfigureServices)
///
/// 服务集合(容器对象)
private static void LoadServicesToContainer(IServiceCollection services)
{
/**********添加服务相关类**********/
services.AddScoped();//管理员标签服务
services.AddScoped();//管理员服务
services.AddScoped();//管理员权限菜单
}
///
/// AutoMapper配置
///
///
private static void AutoMapperConfig()
{
Mapper.Initialize(c => {
c.AddProfile();//指定映射关系处理类
});
}
///
/// 注册全局过滤器
///
/// 服务集合(容器对象)
private static void RegisterGlobalFilters(IServiceCollection services)
{
//services.AddMvc(c => {
// c.Filters.Add();//全局异常过滤器
//});
}
}
}