优化分层结构,添加常量
This commit is contained in:
@@ -192,14 +192,14 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.AccountController.Login(Yi.Framework.DTOModel.Base.Dto.LoginDto)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.AccountController.Login(Yi.Framework.DtoModel.Base.Dto.LoginDto)">
|
||||
<summary>
|
||||
没啥说,登录
|
||||
</summary>
|
||||
<param name="loginDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.AccountController.Register(Yi.Framework.DTOModel.Base.Dto.RegisterDto)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.AccountController.Register(Yi.Framework.DtoModel.Base.Dto.RegisterDto)">
|
||||
<summary>
|
||||
没啥说,注册
|
||||
</summary>
|
||||
@@ -224,7 +224,7 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.AccountController.UpdatePassword(Yi.Framework.DTOModel.Base.Dto.UpdatePasswordDto)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.AccountController.UpdatePassword(Yi.Framework.DtoModel.Base.Dto.UpdatePasswordDto)">
|
||||
<summary>
|
||||
自己更新密码
|
||||
</summary>
|
||||
@@ -438,21 +438,21 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.GiveRoleSetMenu(Yi.Framework.DTOModel.Base.Dto.GiveRoleSetMenuDto)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.GiveRoleSetMenu(Yi.Framework.DtoModel.Base.Dto.GiveRoleSetMenuDto)">
|
||||
<summary>
|
||||
给多用户设置多角色
|
||||
</summary>
|
||||
<param name="giveRoleSetMenuDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.Add(Yi.Framework.DTOModel.Base.Dto.RoleInfoDto)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.Add(Yi.Framework.DtoModel.Base.Dto.RoleInfoDto)">
|
||||
<summary>
|
||||
添加角色包含菜单
|
||||
</summary>
|
||||
<param name="roleDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.Update(Yi.Framework.DTOModel.Base.Dto.RoleInfoDto)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.Update(Yi.Framework.DtoModel.Base.Dto.RoleInfoDto)">
|
||||
<summary>
|
||||
更新角色信息
|
||||
</summary>
|
||||
@@ -466,7 +466,7 @@
|
||||
<param name="isDel"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.UpdateDataScpoce(Yi.Framework.DTOModel.Base.Dto.RoleInfoDto)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.UpdateDataScpoce(Yi.Framework.DtoModel.Base.Dto.RoleInfoDto)">
|
||||
<summary>
|
||||
更改角色数据权限
|
||||
</summary>
|
||||
@@ -501,7 +501,7 @@
|
||||
<param name="isDel"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.GiveUserSetRole(Yi.Framework.DTOModel.Base.Dto.GiveUserSetRoleDto)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.GiveUserSetRole(Yi.Framework.DtoModel.Base.Dto.GiveUserSetRoleDto)">
|
||||
<summary>
|
||||
给多用户设置多角色
|
||||
</summary>
|
||||
@@ -515,21 +515,21 @@
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.Update(Yi.Framework.DTOModel.Base.Dto.UserInfoDto)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.Update(Yi.Framework.DtoModel.Base.Dto.UserInfoDto)">
|
||||
<summary>
|
||||
更新用户信息
|
||||
</summary>
|
||||
<param name="userDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.UpdateProfile(Yi.Framework.DTOModel.Base.Dto.UserInfoDto)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.UpdateProfile(Yi.Framework.DtoModel.Base.Dto.UserInfoDto)">
|
||||
<summary>
|
||||
更新个人中心信息
|
||||
</summary>
|
||||
<param name="userDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.Add(Yi.Framework.DTOModel.Base.Dto.UserInfoDto)">
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.Add(Yi.Framework.DtoModel.Base.Dto.UserInfoDto)">
|
||||
<summary>
|
||||
添加用户
|
||||
</summary>
|
||||
@@ -708,7 +708,7 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Brick.IFServer.Controllers.StudentController.Create(Yi.Framework.DTOModel.RABC.Student.StudentCreateInput)">
|
||||
<member name="M:Brick.IFServer.Controllers.StudentController.Create(Yi.Framework.DtoModel.RABC.Student.StudentCreateInput)">
|
||||
<summary>
|
||||
增
|
||||
</summary>
|
||||
@@ -735,7 +735,7 @@
|
||||
<param name="ids"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Brick.IFServer.Controllers.StudentController.Update(System.Guid,Yi.Framework.DTOModel.RABC.Student.StudentUpdateInput)">
|
||||
<member name="M:Brick.IFServer.Controllers.StudentController.Update(System.Guid,Yi.Framework.DtoModel.RABC.Student.StudentUpdateInput)">
|
||||
<summary>
|
||||
更
|
||||
</summary>
|
||||
|
||||
@@ -7,7 +7,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.DTOModel.Base.Vo;
|
||||
using Yi.Framework.DtoModel.Base.Vo;
|
||||
using Yi.Framework.Interface;
|
||||
using Yi.Framework.Interface.BBS;
|
||||
using Yi.Framework.Model.BBS.Entitys;
|
||||
|
||||
@@ -7,7 +7,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.DTOModel.Base.Vo;
|
||||
using Yi.Framework.DtoModel.Base.Vo;
|
||||
using Yi.Framework.Interface;
|
||||
using Yi.Framework.Interface.BBS;
|
||||
using Yi.Framework.Model.BBS.Entitys;
|
||||
|
||||
@@ -12,7 +12,7 @@ using Yi.Framework.Common.Helper;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.Core;
|
||||
using Yi.Framework.Core.Cache;
|
||||
using Yi.Framework.DTOModel.Base.Dto;
|
||||
using Yi.Framework.DtoModel.Base.Dto;
|
||||
using Yi.Framework.Interface;
|
||||
using Yi.Framework.Interface.RABC;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
|
||||
@@ -12,7 +12,7 @@ using Yi.Framework.Common.Enum;
|
||||
using Yi.Framework.Common.Helper;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.Core;
|
||||
using Yi.Framework.DTOModel;
|
||||
using Yi.Framework.DtoModel;
|
||||
using Yi.Framework.Interface;
|
||||
using Yi.Framework.Repository;
|
||||
using Yi.Framework.WebCore;
|
||||
@@ -52,11 +52,11 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
|
||||
if (!string.IsNullOrEmpty(online.Ipaddr))
|
||||
{
|
||||
dataWhere = dataWhere.Where((u) => u.Ipaddr.Contains(online.Ipaddr));
|
||||
dataWhere = dataWhere.Where((u) => u.Ipaddr!.Contains(online.Ipaddr));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(online.UserName))
|
||||
{
|
||||
dataWhere = dataWhere.Where((u) => u.UserName.Contains(online.UserName));
|
||||
dataWhere = dataWhere.Where((u) => u.UserName!.Contains(online.UserName));
|
||||
}
|
||||
return Result.Success().SetData(new PageModel<List<OnlineUser>>() { Total = data.Count, Data = dataWhere.ToList() });
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.DTOModel.Base.Dto;
|
||||
using Yi.Framework.DtoModel.Base.Dto;
|
||||
using Yi.Framework.Interface;
|
||||
using Yi.Framework.Interface.RABC;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
|
||||
@@ -10,7 +10,7 @@ using Yi.Framework.Common.Const;
|
||||
using Yi.Framework.Common.Enum;
|
||||
using Yi.Framework.Common.Helper;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.DTOModel.Base.Dto;
|
||||
using Yi.Framework.DtoModel.Base.Dto;
|
||||
using Yi.Framework.Interface;
|
||||
using Yi.Framework.Interface.RABC;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.DTOModel.RABC.Student;
|
||||
using Yi.Framework.DtoModel.RABC.Student;
|
||||
using Yi.Framework.Interface.RABC;
|
||||
|
||||
namespace Brick.IFServer.Controllers
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.DTOModel.Base.Dto
|
||||
namespace Yi.Framework.DtoModel.Base.Dto
|
||||
{
|
||||
public class GiveRoleSetMenuDto
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.DTOModel.Base.Dto
|
||||
namespace Yi.Framework.DtoModel.Base.Dto
|
||||
{
|
||||
public class GiveUserSetRoleDto
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.DTOModel.Base.Dto
|
||||
namespace Yi.Framework.DtoModel.Base.Dto
|
||||
{
|
||||
public class LoginDto
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.DTOModel.Base.Dto
|
||||
namespace Yi.Framework.DtoModel.Base.Dto
|
||||
{
|
||||
public class RegisterDto
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
|
||||
namespace Yi.Framework.DTOModel.Base.Dto
|
||||
namespace Yi.Framework.DtoModel.Base.Dto
|
||||
{
|
||||
public class RoleInfoDto
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.DTOModel.Base.Dto
|
||||
namespace Yi.Framework.DtoModel.Base.Dto
|
||||
{
|
||||
public class UpdatePasswordDto
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
|
||||
namespace Yi.Framework.DTOModel.Base.Dto
|
||||
namespace Yi.Framework.DtoModel.Base.Dto
|
||||
{
|
||||
public class UserInfoDto
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
|
||||
namespace Yi.Framework.DTOModel.Base.Dto
|
||||
namespace Yi.Framework.DtoModel.Base.Dto
|
||||
{
|
||||
public class UserRoleMenuDto
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.DTOModel.Base.Vo
|
||||
namespace Yi.Framework.DtoModel.Base.Vo
|
||||
{
|
||||
public class ArticleVo
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.DTOModel.Base.Vo
|
||||
namespace Yi.Framework.DtoModel.Base.Vo
|
||||
{
|
||||
public class CommentVo
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.DTOModel.Base.Vo
|
||||
namespace Yi.Framework.DtoModel.Base.Vo
|
||||
{
|
||||
/// <summary>
|
||||
/// 前端只需要这些数据即可
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
|
||||
namespace Yi.Framework.DTOModel.RABC.Student.MapperConfig
|
||||
namespace Yi.Framework.DtoModel.RABC.Student.MapperConfig
|
||||
{
|
||||
public class StudentProfile : Profile
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Yi.Framework.DTOModel.RABC.Student
|
||||
namespace Yi.Framework.DtoModel.RABC.Student
|
||||
{
|
||||
public class StudentCreateInput
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Yi.Framework.DTOModel.RABC.Student
|
||||
namespace Yi.Framework.DtoModel.RABC.Student
|
||||
{
|
||||
public class StudentCreateUpdateInput
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Yi.Framework.Model.Base;
|
||||
|
||||
namespace Yi.Framework.DTOModel.RABC.Student
|
||||
namespace Yi.Framework.DtoModel.RABC.Student
|
||||
{
|
||||
public class StudentGetOutput : EntityDto<Guid>
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Yi.Framework.Model.Base;
|
||||
|
||||
namespace Yi.Framework.DTOModel.RABC.Student
|
||||
namespace Yi.Framework.DtoModel.RABC.Student
|
||||
{
|
||||
public class StudentListOutput : EntityDto<Guid>
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Yi.Framework.DTOModel.RABC.Student
|
||||
namespace Yi.Framework.DtoModel.RABC.Student
|
||||
{
|
||||
public class StudentUpdateInput
|
||||
{
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Yi.Framework.Model\Yi.Framework.Model.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="BBS\" />
|
||||
<Folder Include="Shop\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Yi.Framework.Model\Yi.Framework.Model.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.DtoModel.RABC.Student.ConstConfig
|
||||
{
|
||||
public class StudentConst
|
||||
{
|
||||
public const string 学生异常错误 = nameof(学生异常错误);
|
||||
public const string 学生友好错误 = nameof(学生友好错误)+",状态码将返回200";
|
||||
}
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.IOCOptions;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.Core;
|
||||
|
||||
namespace Yi.Framework.ElasticSearchProcessor
|
||||
{
|
||||
public class InitESIndexWorker : BackgroundService
|
||||
{
|
||||
private readonly IConfiguration _configuration;
|
||||
private readonly ILogger<InitESIndexWorker> _logger;
|
||||
private readonly RabbitMQInvoker _RabbitMQInvoker;
|
||||
private readonly ElasticSearchInvoker _elasticSearchInvoker;
|
||||
|
||||
public InitESIndexWorker(ILogger<InitESIndexWorker> logger, RabbitMQInvoker rabbitMQInvoker, IConfiguration configuration, ElasticSearchInvoker elasticSearchInvoker)
|
||||
{
|
||||
this._logger = logger;
|
||||
this._RabbitMQInvoker = rabbitMQInvoker;
|
||||
this._configuration = configuration;
|
||||
this._elasticSearchInvoker = elasticSearchInvoker;
|
||||
}
|
||||
|
||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
{
|
||||
RabbitMQConsumerModel rabbitMQConsumerModel = new RabbitMQConsumerModel()
|
||||
{
|
||||
ExchangeName = RabbitMQExchangeQueueName.SKUCQRS_Exchange,
|
||||
QueueName = RabbitMQExchangeQueueName.SKUCQRS_Queue_ESIndex
|
||||
};
|
||||
HttpClient _HttpClient = new HttpClient();
|
||||
this._RabbitMQInvoker.RegistReciveAction(rabbitMQConsumerModel, message =>
|
||||
{
|
||||
try
|
||||
{
|
||||
//<2F><><EFBFBD>õ<EFBFBD>ģ<EFBFBD>͡<EFBFBD>
|
||||
//SPUCQRSQueueModel spuCQRSQueueModel = JsonConvert.DeserializeObject<SPUCQRSQueueModel>(message);
|
||||
|
||||
//<2F><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ɾ<EFBFBD>ģ<EFBFBD>es<65><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
|
||||
//switch (spuCQRSQueueModel.CQRSType)
|
||||
//{
|
||||
// case (int)SPUCQRSQueueModelType.Insert:
|
||||
// case (int)SPUCQRSQueueModelType.Update:
|
||||
// {
|
||||
// Goods goods = this._ISearchService.GetGoodsBySpuId(spuCQRSQueueModel.SpuId);
|
||||
// this._IElasticSearchService.InsertOrUpdata<Goods>(goods);
|
||||
// break;
|
||||
// }
|
||||
// case (int)SPUCQRSQueueModelType.Delete:
|
||||
// this._IElasticSearchService.Delete<Goods>(spuCQRSQueueModel.SpuId.ToString());
|
||||
// break;
|
||||
// default:
|
||||
// throw new Exception("wrong spuCQRSQueueModel.CQRSType");
|
||||
//}
|
||||
|
||||
this._logger.LogInformation($"{nameof(InitESIndexWorker)}.Init ESIndex succeed SpuId");
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogModel logModel = new LogModel()
|
||||
{
|
||||
OriginalClassName = this.GetType().FullName,
|
||||
OriginalMethodName = nameof(ExecuteAsync),
|
||||
Remark = "<22><>ʱ<EFBFBD><CAB1>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־"
|
||||
};
|
||||
this._logger.LogError(ex, $"{nameof(InitESIndexWorker)}.Init ESIndex failed message={message}, Exception:{ex.Message}", JsonConvert.SerializeObject(logModel));
|
||||
return false;
|
||||
}
|
||||
});
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<log4net>
|
||||
<!-- 将日志以回滚文件的形式写到文件中 -->
|
||||
<!-- 按日期切分日志文件,并将日期作为日志文件的名字 -->
|
||||
<!--Error-->
|
||||
<appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
|
||||
<!--不加utf-8编码格式,中文字符将显示成乱码-->
|
||||
<param name="Encoding" value="utf-8" />
|
||||
<file value="log/"/>
|
||||
<appendToFile value="true" />
|
||||
<rollingStyle value="Date" />
|
||||
<!--日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置-->
|
||||
<datePattern value=""GlobalExceptionLogs_"yyyyMMdd".log"" />
|
||||
<!--日志文件名是否为静态-->
|
||||
<StaticLogFileName value="false"/>
|
||||
<!--多线程时采用最小锁定-->
|
||||
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
|
||||
<!--布局(向用户显示最后经过格式化的输出信息)-->
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<conversionPattern value="%date| %-5level %newline%message%newline--------------------------------%newline" />
|
||||
</layout>
|
||||
<filter type="log4net.Filter.LevelRangeFilter">
|
||||
<levelMin value="ERROR" />
|
||||
<levelMax value="FATAL" />
|
||||
</filter>
|
||||
</appender>
|
||||
<!--Error-->
|
||||
|
||||
|
||||
|
||||
<!--Info-->
|
||||
<appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
|
||||
<!--不加utf-8编码格式,中文字符将显示成乱码-->
|
||||
<param name="Encoding" value="utf-8" />
|
||||
<!--定义文件存放位置-->
|
||||
<file value="log/"/>
|
||||
<appendToFile value="true" />
|
||||
<rollingStyle value="Date" />
|
||||
<!--日志文件名是否为静态-->
|
||||
<StaticLogFileName value="false"/>
|
||||
<!--日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置-->
|
||||
<datePattern value=""GlobalInfoLogs_"yyyyMMdd".log"" />
|
||||
<!--多线程时采用最小锁定-->
|
||||
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
|
||||
<!--布局(向用户显示最后经过格式化的输出信息)-->
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<conversionPattern value="%date| %-5level%c %newline%message%newline--------------------------------%newline" />
|
||||
</layout>
|
||||
<filter type="log4net.Filter.LevelRangeFilter">
|
||||
<levelMin value="DEBUG" />
|
||||
<levelMax value="WARN" />
|
||||
</filter>
|
||||
</appender>
|
||||
<!--Info-->
|
||||
|
||||
<root>
|
||||
<!-- 控制级别,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF -->
|
||||
<!-- 比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录 -->
|
||||
<!-- 如果没有定义LEVEL的值,则缺省为DEBUG -->
|
||||
<level value="ALL" />
|
||||
<!-- 按日期切分日志文件,并将日期作为日志文件的名字 -->
|
||||
<appender-ref ref="ErrorLog" />
|
||||
<appender-ref ref="InfoLog" />
|
||||
</root>
|
||||
</log4net>
|
||||
@@ -1,69 +0,0 @@
|
||||
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System;
|
||||
using Yi.Framework.WebCore;
|
||||
using Yi.Framework.WebCore.AspNetCoreExtensions;
|
||||
using Yi.Framework.WebCore.BuilderExtend;
|
||||
using Yi.Framework.WebCore.CommonExtend;
|
||||
|
||||
namespace Yi.Framework.ElasticSearchProcessor
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
CreateHostBuilder(args).Build().Run();
|
||||
}
|
||||
|
||||
public static IHostBuilder CreateHostBuilder(string[] args) =>
|
||||
Host.CreateDefaultBuilder(args)
|
||||
.ConfigureAppConfiguration((hostBuilderContext, configurationBuilder) =>
|
||||
{
|
||||
configurationBuilder.AddCommandLine(args);
|
||||
configurationBuilder.AddJsonFileService();
|
||||
//configurationBuilder.AddJsonFile("configuration.json", optional: false, reloadOnChange: true);
|
||||
#region
|
||||
//Apollo配置
|
||||
#endregion
|
||||
//configurationBuilder.AddApolloService("Yi");
|
||||
})
|
||||
.ConfigureLogging(loggingBuilder =>
|
||||
{
|
||||
loggingBuilder.AddFilter("System", Microsoft.Extensions.Logging.LogLevel.Warning);
|
||||
loggingBuilder.AddFilter("Microsoft", Microsoft.Extensions.Logging.LogLevel.Warning);
|
||||
loggingBuilder.AddLog4Net();
|
||||
})
|
||||
.ConfigureServices((hostContext, services) =>
|
||||
{
|
||||
|
||||
IConfiguration configuration = services.BuildServiceProvider().GetRequiredService<IConfiguration>();
|
||||
|
||||
#region
|
||||
//Ioc配置
|
||||
#endregion
|
||||
services.AddSingleton(new Appsettings(configuration));
|
||||
|
||||
services.AddHostedService<Worker>();
|
||||
services.AddHostedService<InitESIndexWorker>();
|
||||
services.AddHostedService<WarmupESIndexWorker>();
|
||||
#region 服务注入
|
||||
//services.Configure<MySqlConnOptions>(configuration.GetSection("MysqlConn"));
|
||||
|
||||
|
||||
#region
|
||||
//RabbitMQ服务配置
|
||||
#endregion
|
||||
services.AddRabbitMQService();
|
||||
#endregion
|
||||
|
||||
#region Consul
|
||||
//services.Configure<ConsulClientOption>(configuration.GetSection("ConsulClientOption"));
|
||||
//services.AddTransient<AbstractConsulDispatcher, PollingDispatcher>();
|
||||
#endregion
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1,79 +0,0 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.IOCOptions;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.Common.QueueModel;
|
||||
using Yi.Framework.Core;
|
||||
using Yi.Framework.Interface;
|
||||
|
||||
namespace Yi.Framework.ElasticSearchProcessor
|
||||
{
|
||||
public class WarmupESIndexWorker : BackgroundService
|
||||
{
|
||||
private readonly IConfiguration _configuration;
|
||||
private readonly ILogger<WarmupESIndexWorker> _logger;
|
||||
private readonly RabbitMQInvoker _RabbitMQInvoker;
|
||||
private readonly ElasticSearchInvoker _elasticSearchInvoker;
|
||||
private readonly IOptionsMonitor<ElasticSearchOptions> _ElasticSearchOptions = null;
|
||||
|
||||
|
||||
public WarmupESIndexWorker(ILogger<WarmupESIndexWorker> logger, RabbitMQInvoker rabbitMQInvoker, IConfiguration configuration, ElasticSearchInvoker elasticSearchInvoker, IOptionsMonitor<ElasticSearchOptions> optionsMonitor)
|
||||
{
|
||||
this._logger = logger;
|
||||
this._RabbitMQInvoker = rabbitMQInvoker;
|
||||
this._configuration = configuration;
|
||||
this._elasticSearchInvoker = elasticSearchInvoker;
|
||||
this._ElasticSearchOptions = optionsMonitor;
|
||||
}
|
||||
|
||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
{
|
||||
RabbitMQConsumerModel rabbitMQConsumerModel = new RabbitMQConsumerModel()
|
||||
{
|
||||
ExchangeName = RabbitMQExchangeQueueName.SKUWarmup_Exchange,
|
||||
QueueName = RabbitMQExchangeQueueName.SKUWarmup_Queue_ESIndex
|
||||
};
|
||||
HttpClient _HttpClient = new HttpClient();
|
||||
this._RabbitMQInvoker.RegistReciveAction(rabbitMQConsumerModel, message =>
|
||||
{
|
||||
//SKUWarmupQueueModel skuWarmupQueueModel = JsonConvert.DeserializeObject<SKUWarmupQueueModel>(message);
|
||||
//<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ģ<EFBFBD>͡<EFBFBD>
|
||||
#region <EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Index---<EFBFBD>½<EFBFBD>Index---<EFBFBD>ٽ<EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
try
|
||||
{
|
||||
this._elasticSearchInvoker.DropIndex(this._ElasticSearchOptions.CurrentValue.IndexName);
|
||||
//this._searchService.ImpDataBySpu();
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>es<65><73><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
this._logger.LogInformation($"{nameof(WarmupESIndexWorker)}.InitAll succeed");
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
var logModel = new LogModel()
|
||||
{
|
||||
OriginalClassName = this.GetType().FullName,
|
||||
OriginalMethodName = nameof(ExecuteAsync),
|
||||
Remark = "<22><>ʱ<EFBFBD><CAB1>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־"
|
||||
};
|
||||
this._logger.LogError(ex, $"{nameof(WarmupESIndexWorker)}.Warmup ESIndex failed message={message}, Exception:{ex.Message}", JsonConvert.SerializeObject(logModel));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
});
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.ElasticSearchProcessor
|
||||
{
|
||||
public class Worker : BackgroundService
|
||||
{
|
||||
private readonly ILogger<Worker> _logger;
|
||||
|
||||
public Worker(ILogger<Worker> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
{
|
||||
while (!stoppingToken.IsCancellationRequested)
|
||||
{
|
||||
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
|
||||
await Task.Delay(100000, stoppingToken);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="configuration.json" />
|
||||
<None Remove="Log4net.config" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="Log4net.config">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="6.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Log4Net.AspNetCore" Version="6.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Yi.Framework.Common\Yi.Framework.Common.csproj" />
|
||||
<ProjectReference Include="..\Yi.Framework.Interface\Yi.Framework.Interface.csproj" />
|
||||
<ProjectReference Include="..\Yi.Framework.WebCore\Yi.Framework.WebCore.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,81 +0,0 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft": "Warning",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
|
||||
"Consul_Enabled": false,
|
||||
"DbSeed_Enabled": true,
|
||||
"Apollo_Enabled": false,
|
||||
"HealthCheck_Enabled": false,
|
||||
"Cors_Enabled": true,
|
||||
"RabbitMQ_Enabled": true,
|
||||
"Redis_Enabled": true,
|
||||
"RedisSeed_Enabled": true,
|
||||
"Kafka_Enabled": false,
|
||||
"ElasticSeach_Enabled": false,
|
||||
"MutiDB_Enabled": false,
|
||||
"SMS_Enabled": true,
|
||||
"DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle" ],
|
||||
"DbSelect": "Mysql",
|
||||
|
||||
"DbConn": {
|
||||
"WriteUrl": "server=118.195.191.41;port=3306;database=YIDB;user id=root;password=Qz52013142020.",
|
||||
"ReadUrl": [
|
||||
"server=118.195.191.41;port=3306;database=YIDB;user id=root;password=Qz52013142020.",
|
||||
"server=118.195.191.41;port=3306;database=YIDB;user id=root;password=Qz52013142020.",
|
||||
"server=118.195.191.41;port=3306;database=YIDB;user id=root;password=Qz52013142020."
|
||||
]
|
||||
},
|
||||
"JWTTokenOptions": {
|
||||
"Audience": "http://localhost:7000",
|
||||
"Issuer": "http://localhost:7000",
|
||||
"SecurityKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDI2a2EJ7m872v0afyoSDJT2o1+SitIeJSWtLJU8/Wz2m7gStexajkeD+Lka6DSTy8gt9UwfgVQo6uKjVLG5Ex7PiGOODVqAEghBuS7JzIYU5RvI543nNDAPfnJsas96mSA7L/mD7RTE2drj6hf3oZjJpMPZUQI/B1Qjb5H3K3PNwIDAQAB"
|
||||
},
|
||||
"RedisConnOptions": {
|
||||
"Host": "118.195.191.41",
|
||||
"Prot": 6379,
|
||||
"DB": 1,
|
||||
"Password": "Qz52013142020."
|
||||
},
|
||||
"RabbitConn": {
|
||||
"HostName": "118.195.191.41",
|
||||
"UserName": "cc",
|
||||
"Password": "cc",
|
||||
"Port": 5672
|
||||
},
|
||||
"ElasticSeachConn": {
|
||||
"Url": "",
|
||||
"IndexName": ""
|
||||
},
|
||||
"KafkaOptions": {
|
||||
"BrokerList": "192.168.3.230:9092",
|
||||
"TopicName": "kafkalog"
|
||||
},
|
||||
"ConsulClientOption": {
|
||||
"IP": "118.195.191.41",
|
||||
"Port": "8500",
|
||||
"Datacenter": "dc1"
|
||||
},
|
||||
"ConsulRegisterOption": {
|
||||
"IP": "183.216.18.15",
|
||||
"Port": "44329",
|
||||
"GroupName": "ApiMicroservice",
|
||||
"HealthCheckUrl": "/Health",
|
||||
"Interval": 10,
|
||||
"Timeout": 5,
|
||||
"DeregisterCriticalServiceAfter": 60,
|
||||
"Tag": "13"
|
||||
},
|
||||
"SMS": {
|
||||
"ID": "LTAI5tJvjPaXCyyPMfXLNbVA",
|
||||
"Secret": "fLQv7jjj57fUKLFK8REeAQPFVDjUYn",
|
||||
"Sign": "JiftCC",
|
||||
"Template": "SMS_221640732"
|
||||
},
|
||||
"IPLibraryServiceUrl": "http://gRPCIPLibraryService"
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"Apollo": {
|
||||
"AppId": "Yi.Framework.ApiMicroservice",
|
||||
"Env": "DEV",
|
||||
"MetaServer": "http://192.168.2.168:8080",
|
||||
"ConfigServer": [ "http://192.168.2.168:8080" ]
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.DTOModel.Base.Dto;
|
||||
using Yi.Framework.DtoModel.Base.Dto;
|
||||
using Yi.Framework.Interface.Base;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
using Yi.Framework.Repository;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.DTOModel.RABC.Student;
|
||||
using Yi.Framework.DtoModel.RABC.Student;
|
||||
using Yi.Framework.Interface.Base.Crud;
|
||||
|
||||
namespace Yi.Framework.Interface.RABC
|
||||
|
||||
@@ -5,7 +5,7 @@ using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.Interface.Base;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
using Yi.Framework.Repository;
|
||||
using Yi.Framework.DTOModel.Base.Dto;
|
||||
using Yi.Framework.DtoModel.Base.Dto;
|
||||
|
||||
namespace Yi.Framework.Interface.RABC
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
@@ -9,7 +9,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Yi.Framework.DTOModel\Yi.Framework.DTOModel.csproj" />
|
||||
<ProjectReference Include="..\Yi.Framework.DtoModel\Yi.Framework.DtoModel.csproj" />
|
||||
<ProjectReference Include="..\Yi.Framework.Repository\Yi.Framework.Repository.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
////*****************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD>+Consul********************************
|
||||
////*****************************单地址多实例负载均衡+Consul********************************
|
||||
//{
|
||||
// "Routes": [
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/api/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/api/{url}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "UpstreamPathTemplate": "/T/{url}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "UpstreamPathTemplate": "/T/{url}", //网关地址--url变量
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ],
|
||||
// "UseServiceDiscovery": true,
|
||||
// "ServiceName": "ZhaoxiService", //consul<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "ServiceName": "ZhaoxiService", //consul服务名称
|
||||
// "LoadBalancerOptions": {
|
||||
// "Type": "RoundRobin" //<EFBFBD><EFBFBD>ѯ LeastConnection-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NoLoadBalance<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// "Type": "RoundRobin" //轮询 LeastConnection-最少连接数的服务器 NoLoadBalance不负载均衡
|
||||
// }
|
||||
// }
|
||||
// ],
|
||||
// "GlobalConfiguration": {
|
||||
// "BaseUrl": "http://127.0.0.1:6299", //<EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||
// "BaseUrl": "http://127.0.0.1:6299", //网关对外地址
|
||||
// "ServiceDiscoveryProvider": {
|
||||
// "Host": "47.95.2.2",
|
||||
// "Port": 8089,
|
||||
// "Type": "Consul" //<EFBFBD><EFBFBD>Consul<EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥconsul
|
||||
// } //Ocelotû<EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD>Consul
|
||||
// "Type": "Consul" //由Consul提供服务发现, 每次请求去consul
|
||||
// } //Ocelot没有支持配置多个Consul
|
||||
|
||||
// //,"ServiceDiscoveryProvider": {
|
||||
// // "Host": "localhost",
|
||||
// // "Port": 8500,
|
||||
// // "Type": "PollConsul", //<EFBFBD><EFBFBD>Consul<EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
// // "PollingInterval": 1000 //<EFBFBD><EFBFBD>ѯconsul,Ƶ<EFBFBD>ʺ<EFBFBD><EFBFBD><EFBFBD>--down<77><6E><EFBFBD>Dz<EFBFBD>֪<EFBFBD><D6AA><EFBFBD><EFBFBD>
|
||||
// // //"Token": "footoken"//<EFBFBD><EFBFBD>ҪACL<EFBFBD>Ļ<EFBFBD>
|
||||
// // "Type": "PollConsul", //由Consul提供服务发现,
|
||||
// // "PollingInterval": 1000 //轮询consul,频率毫秒--down掉是不知道的
|
||||
// // //"Token": "footoken"//需要ACL的话
|
||||
// //}
|
||||
// }
|
||||
//}
|
||||
@@ -37,77 +37,77 @@
|
||||
{
|
||||
"Routes": [
|
||||
{
|
||||
"UpstreamPathTemplate": "api/api/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--<2D><><EFBFBD><EFBFBD>
|
||||
"UpstreamPathTemplate": "api/api/{url}", //上游请求地址--网关
|
||||
"UpstreamHttpMethod": [ "Get", "Post", "Put", "PATCH", "Delete", "Options" ],
|
||||
"UseServiceDiscovery": true,
|
||||
"ServiceName": "ApiMicroservice",
|
||||
"LoadBalancerOptions": {
|
||||
"Type": "RoundRobin" //<EFBFBD><EFBFBD>ѯ LeastConnection-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NoLoadBalance<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD>
|
||||
"Type": "RoundRobin" //轮询 LeastConnection-最少连接数的服务器 NoLoadBalance不负载均衡
|
||||
},
|
||||
"DownstreamPathTemplate": "api/api/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
"DownstreamPathTemplate": "api/api/{url}", //服务地址--url变量
|
||||
"DownstreamScheme": "https",
|
||||
"DownstreamHeaderTransform": {
|
||||
"Access-Control-Allow-Origin": "*", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
"Access-Control-Allow-Origin": "*", //不存在就添加
|
||||
"Access-Control-Allow-Methods": "*",
|
||||
"Access-Control-Allow-Headers": "*"
|
||||
}
|
||||
},
|
||||
{
|
||||
"UpstreamPathTemplate": "api/item/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--<2D><><EFBFBD><EFBFBD>
|
||||
"UpstreamPathTemplate": "api/item/{url}", //上游请求地址--网关
|
||||
"UpstreamHttpMethod": [ "Get", "Post", "Put", "PATCH", "Delete", "Options" ],
|
||||
"UseServiceDiscovery": true,
|
||||
"ServiceName": "PageDetail",
|
||||
"LoadBalancerOptions": {
|
||||
"Type": "RoundRobin" //<EFBFBD><EFBFBD>ѯ LeastConnection-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NoLoadBalance<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD>
|
||||
"Type": "RoundRobin" //轮询 LeastConnection-最少连接数的服务器 NoLoadBalance不负载均衡
|
||||
},
|
||||
"DownstreamPathTemplate": "api/item/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
"DownstreamPathTemplate": "api/item/{url}", //服务地址--url变量
|
||||
"DownstreamScheme": "https",
|
||||
"DownstreamHeaderTransform": {
|
||||
"Access-Control-Allow-Origin": "*", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
"Access-Control-Allow-Origin": "*", //不存在就添加
|
||||
"Access-Control-Allow-Methods": "*",
|
||||
"Access-Control-Allow-Headers": "*"
|
||||
}
|
||||
}
|
||||
],
|
||||
"GlobalConfiguration": {
|
||||
"BaseUrl": "http://127.0.0.1:7200", //<EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||
"BaseUrl": "http://127.0.0.1:7200", //网关对外地址
|
||||
"ServiceDiscoveryProvider": {
|
||||
"Host": "192.168.2.128",
|
||||
"Port": 8500,
|
||||
"Type": "Consul" //<EFBFBD><EFBFBD>Consul<EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥconsul
|
||||
"Type": "Consul" //由Consul提供服务发现, 每次请求去consul
|
||||
},
|
||||
"RateLimitOptions": {
|
||||
"QuotaExceededMessage": "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1>ض<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>Ϣ
|
||||
"HttpStatusCode": 666 // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD>ض<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>http status
|
||||
//"ClientIdHeader": "client_id" // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ClientId
|
||||
"QuotaExceededMessage": "你的请求过于频繁,请稍后再试!", // 当请求过载被截断时返回的消息
|
||||
"HttpStatusCode": 666 // 当请求过载被截断时返回的http status
|
||||
//"ClientIdHeader": "client_id" // 用来识别客户端的请求头,默认是 ClientId
|
||||
}
|
||||
|
||||
//,"ServiceDiscoveryProvider": {
|
||||
// "Host": "localhost",
|
||||
// "Port": 8500,
|
||||
// "Type": "PollConsul", //<EFBFBD><EFBFBD>Consul<EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
// "PollingInterval": 1000 //<EFBFBD><EFBFBD>ѯconsul,Ƶ<EFBFBD>ʺ<EFBFBD><EFBFBD><EFBFBD>--down<77><6E><EFBFBD>Dz<EFBFBD>֪<EFBFBD><D6AA><EFBFBD><EFBFBD>
|
||||
// //"Token": "footoken"//<EFBFBD><EFBFBD>ҪACL<EFBFBD>Ļ<EFBFBD>
|
||||
// "Type": "PollConsul", //由Consul提供服务发现,
|
||||
// "PollingInterval": 1000 //轮询consul,频率毫秒--down掉是不知道的
|
||||
// //"Token": "footoken"//需要ACL的话
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
////*****************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--<2D><>Consul********************************
|
||||
////*****************************单地址--无Consul********************************
|
||||
//{
|
||||
// "Routes": [
|
||||
// {
|
||||
// "UpstreamPathTemplate": "/api/auth/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--<2D><><EFBFBD><EFBFBD>
|
||||
// "UpstreamPathTemplate": "/api/auth/{url}", //上游请求地址--网关
|
||||
// "UpstreamHttpMethod": [ "Get", "Post", "Put", "PATCH", "Delete", "Options" ],
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "localhost",
|
||||
// "Port": 7200 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>api <EFBFBD>˿<EFBFBD>
|
||||
// "Port": 7200 //网关api 端口
|
||||
// }
|
||||
// ],
|
||||
// "DownstreamPathTemplate": "/api/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/api/{url}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "DownstreamHeaderTransform": {
|
||||
// "Access-Control-Allow-Origin": "*", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "Access-Control-Allow-Origin": "*", //不存在就添加
|
||||
// "Access-Control-Allow-Methods": "*",
|
||||
// "Access-Control-Allow-Headers": "*"
|
||||
// }
|
||||
@@ -115,123 +115,123 @@
|
||||
// ]
|
||||
//}
|
||||
|
||||
////*****************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַȫƥ<EFBFBD><EFBFBD>********************************
|
||||
////*****************************单地址全匹配********************************
|
||||
//{
|
||||
// "Routes": [
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/{url}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "localhost",
|
||||
// "Port": 5726 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
// "Port": 5726 //服务端口
|
||||
// }
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/{url}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<EFBFBD><EFBFBD>ͻ<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>Ȩ<EFBFBD><EFBFBD>Priority
|
||||
// "UpstreamPathTemplate": "/{url}", //网关地址--url变量 //冲突的还可以加权重Priority
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ]
|
||||
// }
|
||||
// ]
|
||||
//}
|
||||
|
||||
////*****************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD>********************************
|
||||
////*****************************多地址多实例********************************
|
||||
//{
|
||||
// "Routes": [
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/api/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/api/{url}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "localhost",
|
||||
// "Port": 5726 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
// "Port": 5726 //服务端口
|
||||
// }
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/T5726/{url}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "UpstreamPathTemplate": "/T5726/{url}", //网关地址--url变量
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ]
|
||||
// },
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/api/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/api/{url}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "localhost",
|
||||
// "Port": 5727 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
// "Port": 5727 //服务端口
|
||||
// }
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/T5727/{url}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "UpstreamPathTemplate": "/T5727/{url}", //网关地址--url变量
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ]
|
||||
// },
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/api/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/api/{url}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "localhost",
|
||||
// "Port": 5728 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
// "Port": 5728 //服务端口
|
||||
// }
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/T5728/{url}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "UpstreamPathTemplate": "/T5728/{url}", //网关地址--url变量
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ]
|
||||
// }
|
||||
// ]
|
||||
//}
|
||||
|
||||
//////MVC<EFBFBD><EFBFBD>·<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD>ˮ¥̨<EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD>--
|
||||
////*****************************·<EFBFBD>ɳ<EFBFBD>ͻ+<2B><>Ȩƥ<C8A8><C6A5>********************************
|
||||
//////MVC的路由规则是近水楼台先得月--
|
||||
////*****************************路由冲突+带权匹配********************************
|
||||
//{
|
||||
// "Routes": [
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/{url}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "localhost",
|
||||
// "Port": 5726 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
// "Port": 5726 //服务端口
|
||||
// }
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/{url}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<EFBFBD><EFBFBD>ͻ<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>Ȩ<EFBFBD><EFBFBD>Priority
|
||||
// "UpstreamPathTemplate": "/{url}", //网关地址--url变量 //冲突的还可以加权重Priority
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ],
|
||||
// "Priority": 0 //Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0 <20>Ӹ<EFBFBD>1
|
||||
// "Priority": 0 //默认是0 加个1
|
||||
// },
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/api/users/get?id={id}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/api/users/get?id={id}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "localhost",
|
||||
// "Port": 5727 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
// "Port": 5727 //服务端口
|
||||
// }
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/api/users/get/{id}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<EFBFBD><EFBFBD>ͻ<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>Ȩ<EFBFBD><EFBFBD>Priority
|
||||
// "UpstreamPathTemplate": "/api/users/get/{id}", //网关地址--url变量 //冲突的还可以加权重Priority
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ],
|
||||
// "Priority": 1 //Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0 <20>Ӹ<EFBFBD>1
|
||||
// "Priority": 1 //默认是0 加个1
|
||||
// },
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/api/users/{url}?id={id}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/api/users/{url}?id={id}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "localhost",
|
||||
// "Port": 5728 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
// "Port": 5728 //服务端口
|
||||
// }
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/api/users/{url}/{id}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<EFBFBD><EFBFBD>ͻ<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>Ȩ<EFBFBD><EFBFBD>Priority
|
||||
// "UpstreamPathTemplate": "/api/users/{url}/{id}", //网关地址--url变量 //冲突的还可以加权重Priority
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ],
|
||||
// "Priority": 2 //Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0 <20>Ӹ<EFBFBD>1
|
||||
// "Priority": 2 //默认是0 加个1
|
||||
// }
|
||||
// ]
|
||||
//}
|
||||
|
||||
////*****************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD>********************************
|
||||
////*****************************单地址多实例负载均衡********************************
|
||||
//{
|
||||
// "Routes": [
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/api/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/api/{url}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "47.95.2.2",
|
||||
// "Port": 5726
|
||||
// }, //Ocelot<EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// }, //Ocelot负载均衡
|
||||
// {
|
||||
// "Host": "47.95.2.2",
|
||||
// "Port": 5727
|
||||
@@ -241,10 +241,10 @@
|
||||
// "Port": 5728
|
||||
// }
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/T/{url}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<EFBFBD><EFBFBD>ͻ<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>Ȩ<EFBFBD><EFBFBD>Priority
|
||||
// "UpstreamPathTemplate": "/T/{url}", //网关地址--url变量 //冲突的还可以加权重Priority
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ],
|
||||
// "LoadBalancerOptions": {
|
||||
// "Type": "RoundRobin" //<EFBFBD><EFBFBD>ѯ //"LeastConnection" //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "NoLoadBalance" //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD> //"CookieStickySessions" //<EFBFBD>Ựճ<EFBFBD><EFBFBD> //
|
||||
// "Type": "RoundRobin" //轮询 //"LeastConnection" //最少连接数的服务器 "NoLoadBalance" //不负载均衡 //"CookieStickySessions" //会话粘滞 //
|
||||
// }
|
||||
// //"LoadBalancerOptions": {
|
||||
// // "Type": "CookieStickySessions",
|
||||
@@ -255,126 +255,126 @@
|
||||
// ]
|
||||
//}
|
||||
|
||||
////*****************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD>+Consul********************************
|
||||
////*****************************单地址多实例负载均衡+Consul********************************
|
||||
//{
|
||||
// "Routes": [
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/api/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/api/{url}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "UpstreamPathTemplate": "/T/{url}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "UpstreamPathTemplate": "/T/{url}", //网关地址--url变量
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ],
|
||||
// "UseServiceDiscovery": true,
|
||||
// "ServiceName": "ZhaoxiService", //consul<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "ServiceName": "ZhaoxiService", //consul服务名称
|
||||
// "LoadBalancerOptions": {
|
||||
// "Type": "RoundRobin" //<EFBFBD><EFBFBD>ѯ LeastConnection-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NoLoadBalance<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// "Type": "RoundRobin" //轮询 LeastConnection-最少连接数的服务器 NoLoadBalance不负载均衡
|
||||
// }
|
||||
// }
|
||||
// ],
|
||||
// "GlobalConfiguration": {
|
||||
// "BaseUrl": "http://127.0.0.1:6299", //<EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||
// "BaseUrl": "http://127.0.0.1:6299", //网关对外地址
|
||||
// "ServiceDiscoveryProvider": {
|
||||
// "Host": "47.95.2.2",
|
||||
// "Port": 8089,
|
||||
// "Type": "Consul" //<EFBFBD><EFBFBD>Consul<EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥconsul
|
||||
// } //Ocelotû<EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD>Consul
|
||||
// "Type": "Consul" //由Consul提供服务发现, 每次请求去consul
|
||||
// } //Ocelot没有支持配置多个Consul
|
||||
|
||||
// //,"ServiceDiscoveryProvider": {
|
||||
// // "Host": "localhost",
|
||||
// // "Port": 8500,
|
||||
// // "Type": "PollConsul", //<EFBFBD><EFBFBD>Consul<EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
// // "PollingInterval": 1000 //<EFBFBD><EFBFBD>ѯconsul,Ƶ<EFBFBD>ʺ<EFBFBD><EFBFBD><EFBFBD>--down<77><6E><EFBFBD>Dz<EFBFBD>֪<EFBFBD><D6AA><EFBFBD><EFBFBD>
|
||||
// // //"Token": "footoken"//<EFBFBD><EFBFBD>ҪACL<EFBFBD>Ļ<EFBFBD>
|
||||
// // "Type": "PollConsul", //由Consul提供服务发现,
|
||||
// // "PollingInterval": 1000 //轮询consul,频率毫秒--down掉是不知道的
|
||||
// // //"Token": "footoken"//需要ACL的话
|
||||
// //}
|
||||
// }
|
||||
//}
|
||||
|
||||
////*****************************Consul+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cache********************************
|
||||
////*****************************Consul+缓存Cache********************************
|
||||
//{
|
||||
// "Routes": [
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/api/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/api/{url}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "UpstreamPathTemplate": "/T/{url}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "UpstreamPathTemplate": "/T/{url}", //网关地址--url变量
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ],
|
||||
// "UseServiceDiscovery": true,
|
||||
// "ServiceName": "ZhaoxiService", //consul<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "ServiceName": "ZhaoxiService", //consul服务名称
|
||||
// "LoadBalancerOptions": {
|
||||
// "Type": "RoundRobin" //<EFBFBD><EFBFBD>ѯ LeastConnection-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NoLoadBalance<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// "Type": "RoundRobin" //轮询 LeastConnection-最少连接数的服务器 NoLoadBalance不负载均衡
|
||||
// },
|
||||
// "FileCacheOptions": {
|
||||
// "TtlSeconds": 15, //Second
|
||||
// "Region": "UserCache" //<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD>Api<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "Region": "UserCache" //可以调用Api缓存清理
|
||||
// }
|
||||
// }
|
||||
// ],
|
||||
// "GlobalConfiguration": {
|
||||
// "BaseUrl": "http://127.0.0.1:6299", //<EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||
// "BaseUrl": "http://127.0.0.1:6299", //网关对外地址
|
||||
// "ServiceDiscoveryProvider": {
|
||||
// "Host": "47.95.2.2",
|
||||
// "Port": 8089,
|
||||
// "Type": "Consul" //<EFBFBD><EFBFBD>Consul<EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥconsul
|
||||
// "Type": "Consul" //由Consul提供服务发现, 每次请求去consul
|
||||
// }
|
||||
// //"ServiceDiscoveryProvider": {
|
||||
// // "Host": "localhost",
|
||||
// // "Port": 8500,
|
||||
// // "Type": "PollConsul", //<EFBFBD><EFBFBD>Consul<EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
// // "PollingInterval": 1000 //<EFBFBD><EFBFBD>ѯconsul,Ƶ<EFBFBD>ʺ<EFBFBD><EFBFBD><EFBFBD>--down<77><6E><EFBFBD>Dz<EFBFBD>֪<EFBFBD><D6AA><EFBFBD><EFBFBD>
|
||||
// // //"Token": "footoken"//<EFBFBD><EFBFBD>ҪACL<EFBFBD>Ļ<EFBFBD>
|
||||
// // "Type": "PollConsul", //由Consul提供服务发现,
|
||||
// // "PollingInterval": 1000 //轮询consul,频率毫秒--down掉是不知道的
|
||||
// // //"Token": "footoken"//需要ACL的话
|
||||
// //}
|
||||
// }
|
||||
//}
|
||||
|
||||
////*****************************<EFBFBD><EFBFBD>ʱ+<2B><><EFBFBD><EFBFBD>+<2B>۶<EFBFBD>+<2B><><EFBFBD><EFBFBD>+Consul+Polly********************************
|
||||
////*****************************超时+限流+熔断+降级+Consul+Polly********************************
|
||||
//{
|
||||
// "Routes": [
|
||||
// {
|
||||
// "DownstreamPathTemplate": "/api/{url}", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DownstreamPathTemplate": "/api/{url}", //服务地址--url变量
|
||||
// "DownstreamScheme": "http",
|
||||
// "UpstreamPathTemplate": "/T/{url}", //<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ--url<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "UpstreamPathTemplate": "/T/{url}", //网关地址--url变量
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ],
|
||||
// "UseServiceDiscovery": true,
|
||||
// "ServiceName": "ZhaoxiService", //consul<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "ServiceName": "ZhaoxiService", //consul服务名称
|
||||
// "LoadBalancerOptions": {
|
||||
// "Type": "RoundRobin" //<EFBFBD><EFBFBD>ѯ LeastConnection-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NoLoadBalance<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// "Type": "RoundRobin" //轮询 LeastConnection-最少连接数的服务器 NoLoadBalance不负载均衡
|
||||
// },
|
||||
// "RateLimitOptions": {
|
||||
// "ClientWhitelist": [ "eleven", "seven" ], //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ClientId <EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд
|
||||
// "ClientWhitelist": [ "eleven", "seven" ], //白名单 ClientId 区分大小写
|
||||
// "EnableRateLimiting": true,
|
||||
// "Period": "5m", //1s, 5m, 1h, 1d
|
||||
// "PeriodTimespan": 30, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>˿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "Limit": 5 //ͳ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "PeriodTimespan": 30, //多少秒之后客户端可以重试
|
||||
// "Limit": 5 //统计时间段内允许的最大请求数量
|
||||
// },
|
||||
// "AuthenticationOptions": {
|
||||
// "AuthenticationProviderKey": "UserGatewayKey",
|
||||
// "AllowedScopes": []
|
||||
// },
|
||||
// "QoSOptions": {
|
||||
// "ExceptionsAllowedBeforeBreaking": 3, //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD><EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "DurationOfBreak": 10000, // <EFBFBD>۶ϵ<EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><EFBFBD>λΪms
|
||||
// "TimeoutValue": 2000 //<EFBFBD><EFBFBD>λms <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ʱ<EFBFBD>䳬<EFBFBD><E4B3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>罫<EFBFBD><E7BDAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ʱ Ĭ<><C4AC>90<39><30>
|
||||
// "ExceptionsAllowedBeforeBreaking": 3, //允许多少个异常请求
|
||||
// "DurationOfBreak": 10000, // 熔断的时间,单位为ms
|
||||
// "TimeoutValue": 2000 //单位ms 如果下游请求的处理时间超过多少则自如将请求设置为超时 默认90秒
|
||||
// }
|
||||
// //"FileCacheOptions": {
|
||||
// // "TtlSeconds": 15,
|
||||
// // "Region": "UserCache" //<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD>Api<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// // "Region": "UserCache" //可以调用Api清理
|
||||
// //}
|
||||
// }
|
||||
// ],
|
||||
// "GlobalConfiguration": {
|
||||
// "BaseUrl": "http://127.0.0.1:6299", //<EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||
// "BaseUrl": "http://127.0.0.1:6299", //网关对外地址
|
||||
// "ServiceDiscoveryProvider": {
|
||||
// "Host": "47.95.2.2",
|
||||
// "Port": 8089,
|
||||
// "Type": "Consul" //<EFBFBD><EFBFBD>Consul<EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// "Type": "Consul" //由Consul提供服务发现
|
||||
// },
|
||||
// "RateLimitOptions": {
|
||||
// "QuotaExceededMessage": "Too many requests, maybe later? 11", // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD>ض<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
// "HttpStatusCode": 666, // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD>ض<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>http status
|
||||
// //"ClientIdHeader": "client_id" // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ClientId
|
||||
// "QuotaExceededMessage": "Too many requests, maybe later? 11", // 当请求过载被截断时返回的消息
|
||||
// "HttpStatusCode": 666, // 当请求过载被截断时返回的http status
|
||||
// //"ClientIdHeader": "client_id" // 用来识别客户端的请求头,默认是 ClientId
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
////*****************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۺ<EFBFBD>Aggregator********************************
|
||||
////*****************************请求聚合Aggregator********************************
|
||||
//{
|
||||
// "Routes": [
|
||||
// {
|
||||
@@ -383,8 +383,8 @@
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "localhost",
|
||||
// "Port": 5726 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
// } //<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><EFBFBD>ؾ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// "Port": 5726 //服务端口
|
||||
// } //可以多个,自行负载均衡
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/T5726/users/all",
|
||||
// "UpstreamHttpMethod": [ "Get", "Post" ],
|
||||
@@ -396,7 +396,7 @@
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "localhost",
|
||||
// "Port": 5727 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
// "Port": 5727 //服务端口
|
||||
// }
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/T5727/users/all",
|
||||
@@ -409,7 +409,7 @@
|
||||
// "DownstreamHostAndPorts": [
|
||||
// {
|
||||
// "Host": "localhost",
|
||||
// "Port": 5728 //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
// "Port": 5728 //服务端口
|
||||
// }
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/T5728/users/all",
|
||||
@@ -424,8 +424,8 @@
|
||||
// "T5727",
|
||||
// "T5728"
|
||||
// ],
|
||||
// "UpstreamPathTemplate": "/UserAggregator", //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>404 <20>Dz<EFBFBD>Ӱ<EFBFBD>췵<EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD>null
|
||||
// "Aggregator": "CustomUserAggregator" //<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۺ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// "UpstreamPathTemplate": "/UserAggregator", //如果某个404 是不影响返回,当成null
|
||||
// "Aggregator": "CustomUserAggregator" //自定义聚合器
|
||||
// }
|
||||
// ]
|
||||
//}
|
||||
|
||||
@@ -9,7 +9,7 @@ using Yi.Framework.Model.RABC.Entitys;
|
||||
using Yi.Framework.Repository;
|
||||
using Yi.Framework.Service.Base;
|
||||
using Yi.Framework.Interface.RABC;
|
||||
using Yi.Framework.DTOModel.Base.Dto;
|
||||
using Yi.Framework.DtoModel.Base.Dto;
|
||||
|
||||
namespace Yi.Framework.Service.RABC
|
||||
{
|
||||
|
||||
@@ -3,7 +3,8 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.Exceptions;
|
||||
using Yi.Framework.DTOModel.RABC.Student;
|
||||
using Yi.Framework.DtoModel.RABC.Student;
|
||||
using Yi.Framework.DtoModel.RABC.Student.ConstConfig;
|
||||
using Yi.Framework.Interface.RABC;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
using Yi.Framework.Repository;
|
||||
@@ -24,11 +25,11 @@ namespace Yi.Framework.Service.RABC
|
||||
|
||||
public void GetError()
|
||||
{
|
||||
throw new ApplicationException("查询错误");
|
||||
throw new ApplicationException(StudentConst.学生异常错误);
|
||||
}
|
||||
public void GetError2()
|
||||
{
|
||||
throw new UserFriendlyException("友好错误");
|
||||
throw new UserFriendlyException(StudentConst.学生友好错误);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -12,7 +12,7 @@ using Yi.Framework.Model.RABC.Entitys;
|
||||
using Yi.Framework.Repository;
|
||||
using Yi.Framework.Service.Base;
|
||||
using Yi.Framework.Interface.RABC;
|
||||
using Yi.Framework.DTOModel.Base.Dto;
|
||||
using Yi.Framework.DtoModel.Base.Dto;
|
||||
|
||||
namespace Yi.Framework.Service.RABC
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System;
|
||||
using System.IO;
|
||||
using Yi.Framework.DTOModel.RABC.Student.MapperConfig;
|
||||
using Yi.Framework.DtoModel.RABC.Student.MapperConfig;
|
||||
using Yi.Framework.WebCore.Mapper;
|
||||
|
||||
namespace Yi.Framework.WebCore.AspNetCoreExtensions
|
||||
@@ -17,7 +17,7 @@ namespace Yi.Framework.WebCore.AspNetCoreExtensions
|
||||
{
|
||||
//这里会通过反射自动注入的,先临时这样
|
||||
|
||||
var profileList = Common.Helper.AssemblyHelper.GetClassByBaseClassesAndInterfaces("Yi.Framework.DTOModel", typeof(Profile));
|
||||
var profileList = Common.Helper.AssemblyHelper.GetClassByBaseClassesAndInterfaces("Yi.Framework.DtoModel", typeof(Profile));
|
||||
profileList.Add(typeof(AutoMapperProfile));
|
||||
services.AddAutoMapper(profileList.ToArray());
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ using Yi.Framework.Common.Const;
|
||||
using Yi.Framework.Common.Enum;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.Core.Cache;
|
||||
using Yi.Framework.DTOModel.Base.Dto;
|
||||
using Yi.Framework.DtoModel.Base.Dto;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
using Yi.Framework.WebCore.CommonExtend;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.DTOModel.Base.Vo;
|
||||
using Yi.Framework.DtoModel.Base.Vo;
|
||||
using Yi.Framework.Model.BBS.Entitys;
|
||||
using Yi.Framework.Model.RABC.Entitys;
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ VisualStudioVersion = 17.0.31903.59
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BackGround", "BackGround", "{D6B44435-EAFA-4D55-90D0-3AF80485FB83}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Client", "Client", "{C90E38FB-69EA-4997-8B3A-2C71EFA65B2B}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{C90E38FB-69EA-4997-8B3A-2C71EFA65B2B}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Domain", "Domain", "{DB2506F5-05FD-4E76-940E-41D7AA148550}"
|
||||
EndProject
|
||||
@@ -13,7 +13,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Infrastructure", "Infrastru
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MicroServiceInstance", "MicroServiceInstance", "{026D2797-07D1-4BA5-8070-50CDE0258C59}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.DTOModel", "Yi.Framework.DTOModel\Yi.Framework.DTOModel.csproj", "{5B6C87F0-CEBA-4A0A-8C30-02E927AB4AEF}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.DtoModel", "Yi.Framework.DtoModel\Yi.Framework.DtoModel.csproj", "{5B6C87F0-CEBA-4A0A-8C30-02E927AB4AEF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Interface", "Yi.Framework.Interface\Yi.Framework.Interface.csproj", "{5935EC64-7414-47D8-B934-E5896DD89E4E}"
|
||||
EndProject
|
||||
@@ -33,8 +33,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.OcelotGateway"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.AuthenticationCenter", "Yi.Framework.AuthenticationCenter\Yi.Framework.AuthenticationCenter.csproj", "{694C0EC0-ED32-4E5D-8EA1-FB82E1303EAB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.ElasticSearchProcessor", "Yi.Framework.ElasticSearchProcessor\Yi.Framework.ElasticSearchProcessor.csproj", "{EEF89893-A6A9-4C02-818C-D116C8EAE0EF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Job", "Yi.Framework.Task\Yi.Framework.Job.csproj", "{F1C990DD-32C3-4F02-83B0-6E52B18B0B17}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.SMSProcessor", "Yi.Framework.SMSProcessor\Yi.Framework.SMSProcessor.csproj", "{7C58FB7C-9AB5-47CF-ACEB-B784CF820E7E}"
|
||||
@@ -49,6 +47,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Template", "Yi
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.XUnitTest", "Yi.Framework.XUnitTest\Yi.Framework.XUnitTest.csproj", "{88E3298A-135D-4D9C-B98D-41A2C4268385}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Module", "Module", "{ACAC0C36-BE42-46C7-99AB-042C9C910D5B}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -95,10 +95,6 @@ Global
|
||||
{694C0EC0-ED32-4E5D-8EA1-FB82E1303EAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{694C0EC0-ED32-4E5D-8EA1-FB82E1303EAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{694C0EC0-ED32-4E5D-8EA1-FB82E1303EAB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EEF89893-A6A9-4C02-818C-D116C8EAE0EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EEF89893-A6A9-4C02-818C-D116C8EAE0EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EEF89893-A6A9-4C02-818C-D116C8EAE0EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EEF89893-A6A9-4C02-818C-D116C8EAE0EF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F1C990DD-32C3-4F02-83B0-6E52B18B0B17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F1C990DD-32C3-4F02-83B0-6E52B18B0B17}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F1C990DD-32C3-4F02-83B0-6E52B18B0B17}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
@@ -142,13 +138,12 @@ Global
|
||||
{A95157D2-907F-411E-BA1D-A17F48C54A0E} = {026D2797-07D1-4BA5-8070-50CDE0258C59}
|
||||
{671E38D8-ECAF-484B-A2AE-63DDC469C315} = {D6B44435-EAFA-4D55-90D0-3AF80485FB83}
|
||||
{694C0EC0-ED32-4E5D-8EA1-FB82E1303EAB} = {D6B44435-EAFA-4D55-90D0-3AF80485FB83}
|
||||
{EEF89893-A6A9-4C02-818C-D116C8EAE0EF} = {D6B44435-EAFA-4D55-90D0-3AF80485FB83}
|
||||
{F1C990DD-32C3-4F02-83B0-6E52B18B0B17} = {9ABAF6B1-6C02-498A-90A2-ABC1140CF89A}
|
||||
{F1C990DD-32C3-4F02-83B0-6E52B18B0B17} = {ACAC0C36-BE42-46C7-99AB-042C9C910D5B}
|
||||
{7C58FB7C-9AB5-47CF-ACEB-B784CF820E7E} = {D6B44435-EAFA-4D55-90D0-3AF80485FB83}
|
||||
{DA96B62F-2D4C-4AFB-937C-5AEA1119A129} = {DB2506F5-05FD-4E76-940E-41D7AA148550}
|
||||
{3047069B-4084-461F-BC9F-023BC60401D1} = {9ABAF6B1-6C02-498A-90A2-ABC1140CF89A}
|
||||
{C307189D-C42C-4C09-BB65-5A386C9F182B} = {9ABAF6B1-6C02-498A-90A2-ABC1140CF89A}
|
||||
{A51E9091-3745-461A-A3CB-32598BF0DC77} = {9ABAF6B1-6C02-498A-90A2-ABC1140CF89A}
|
||||
{3047069B-4084-461F-BC9F-023BC60401D1} = {ACAC0C36-BE42-46C7-99AB-042C9C910D5B}
|
||||
{C307189D-C42C-4C09-BB65-5A386C9F182B} = {ACAC0C36-BE42-46C7-99AB-042C9C910D5B}
|
||||
{A51E9091-3745-461A-A3CB-32598BF0DC77} = {ACAC0C36-BE42-46C7-99AB-042C9C910D5B}
|
||||
{88E3298A-135D-4D9C-B98D-41A2C4268385} = {C90E38FB-69EA-4997-8B3A-2C71EFA65B2B}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
|
||||
Reference in New Issue
Block a user